Asp.net mvc基础(十一)数据验证
1.获取验证失败错误
asp.net mvc会自动根据属性的类型进行基本的校验,但Asp.net mvc并不是在请求验证失败的时候抛异常,而是把决定权交给开发人员,开发人员需要决定如何处理数据校验失败。
在Action方法中可以通过ModelState.IsValid判断是否验证通过。
在使用ModelState.IsValid的判断中,我们只能知道有属性没有验证通过,不知道哪个属性验证失败。因此可以通过封装一个方法进行获取验证失败的详细信息
2.常用验证Attribute
(1)[Required] 这个属性是必须的
(2)[StringLength(100)] 字符串最大长度100,其中:[StringLength(100,MinimumLength)=10] 字符串最大长度100,最小长度10
(3)[RegularExpression(@"aa(\d)+bb")] 正则表达式
(4)[Range(最小值,最大值)] 取值范围
(5)[Commpare("要比较的属性")] 这个属性必须和要比较的属性值一样
(6)[EmailAddress] 邮箱地址
(7)[Phone] 电话号码
3.自定义验证
方法一:(只需要定义正则表达式)
封装一个类,继承RegularExpressionAttribute类
将封装的类添加到属性上
方法二:(根据正则表达式无法解决)
直接继承自ValidationAttribute,重写IsValid方法。