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的形式,就会报错了
所以第二个参数只能写字符串