校验保障了MVC 应用程序安全性。 Models 文件夹包含表示应用程序模型的类
1,创建一个项目MvcValidateDemo。
2,创建一个实体类UserInfo在Models中,包含Id、UserName、Age属性。
3,创建UserInfo控制器,并添加一个Add的Action。
4,为名为Add的Action添加视图,选择强类型(需先编译一次,因为MVC是通过反射找到实体类),选择支架模板Create生成页面。
5,第一行代码是Razor语句中生成强类型页面的语法@model MvcValidateDemo.Models.UserInfo
6,为了避免Age生成数字控件,我们改为TextBoxFor,然后手动的校验它@Html.EditorFor(model => model.Age)
EditorFor也是文本框,但更智能一些,会根据数据类型选择合适的控件呈现
7,在UserInfo实体上添加校验标签。
.NET 框架中的System.ComponentModel.DataAnnotations 命名空间包括了众多可为你所用的内置验证特性
8,虽然已经添加了一些验证的信息,但是由于验证是基于JqueryValidate插件的验证,所以最后还需要在页面上添加JS插件包的引用。(插件包不能少)
为什么在模型实体类中设置的校验,会在视图层上呈现前端校验了,那是因为HtmlHelper会在生成控件时,自动将校验信息添加到前端控件身上。
而且微软在后台也有校验功能,而且非常简单,值需要在Action内添加一句代码。
本节介绍了常用的四种校验方法:
[Required], [StringLength], [Range], 和 [RegularExpression] 用法具体看这验证方法的重载
需要注意:要使用客户端验证,必须引入JS脚本支持(jquery的校验)