ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 21. Model 验证 Again


深入的将Model验证




手动添加验证的错误


view里面显示每个属性的验证错误信息

显示整个model级别错误

自定义验证


如果业务逻辑需要比较复杂的验证。而且这个验证逻辑可能到处复用的话就应该考虑使用自定义的Attribute




因为DataType使用的类型是Url

把原来的默认的自带的验证url的属性去掉,自己写一个验证url的

新建文件夹。并新建类


首先需要一个属性放错误信息

context是model验证的上下文


然后验证url。Context.model就是我们要验证的属性


我们 知道我们要验证的是字符串,所以要转成字符串






测试

说明自定义的Attribute起作用了

远程验证


第一个参数是Aciton 的名字,第二个参数是Controller的名字



然后在RoleController里面添加Action




既接收get请求也接收post请求

再看View,有一个RoleName

使用Bind绑定到这里

随便写一个角色,没点提交按钮。 会自动提交到后台

后台就会到断点这里

写一个已经存在的角色就会提示存在了

返回的信息如果是false是什么效果呢?


错误信息是在ViewModel里面定义的

第一个参数是Action的名字 这么写有利于重构

如果后面的Controller也用nameof的形式,就会报错了


所以第二个参数只能写字符串

posted @ 2019-05-28 18:39  高山-景行  阅读(163)  评论(0编辑  收藏  举报