优化了验证提示信息:
4、自定义验证方式:
系统内置的数据验证特性均是继承至ValidationAttribute类型,下面就通过继承该类型来实现一个自己的数据验证方式:
首先添加一个继承ValidationAttribute的类型,并重写其IsValid方法,该方法中包含数据验证的逻辑,并设置相应的错误信息:
然后在相应的类属性上应用该特性:
验证结果:
关于自定义验证特性可参考:https://msdn.microsoft.com/en-us/library/cc668224.aspx
ASP.NET MVC的模型验证 ASP.NET MVC中提供了基于特性标记的模型验证的功能,既只要在用做action参数的类型属性上添加对应的数据验证特性,那么ASP.NET MVC在进行模型绑定时就会自动对被标记的属性进行验证。验证的结果通过Controller中的ModelState的IsValid属性体现。
下面就介绍如何在ASP.NET MVC中为Model添加数据验证:
1.使用特性为Model的属性进行标记,如必填、密码类型及属性间的比较等:
2.在Action代码中添加ModelState.IsValid判断,当出现错误时,将错误信息通过ModelState对象的AddModelError方法携带至View中:
3、在View中使用Html.ValidationSummary方法输出验证信息:
注:如果View中有用于客户端验证的代码需要先注释掉@Scripts.Render("~/bundles/jqueryval"),该文件用于客户端验证,客户端验证在后面介绍。
4、在页面上使用Html对象根据模型生成对应的html标签
5、运行程序
输入空的用户名和不匹配的两个密码,点击提交后:
显示验证未通过:
页面上输出的内容:
6、使用display特性来优化属性名称的输出:
执行结果: