ASP.NET MVC4 模型验证

模型验证是在模型绑定时检查从HTTP请求接收的数据是否合规以保证数据的有效性,在收到无效数据时给出提示帮助用户纠正错误的数据。

ASP.NET MVC4 模型验证_第1张图片

显式模型验证

验证时间最有效的方式就是在action方法中对接收的数据进行验证

在action中:ModelState.AddModelError("vertifyField","tipMessage");

模型绑定时验证

默认模型绑定器DefaultModelBinder内建的绑定时验证,比如我们输入非日期格式给Date属性,绑定器会给出“The value 'xxx' is not valid for Date.”的错误消息。我们可以重载DefaultModelBinder的一些方法来添加有用的信息:

使用元数据指定验证规则

require:表示数据是必须的,Range指定可用值的范围,ErrorMessage表示错误时的提示信息

若不指定则使用上表中的默认消息。可用的验证特性包括:

Compare:两个属性必须相同,比如要求用户重复输入的密码必须相同

Range:属性值必须在指定的数值范围内,可用的数值类型的最大最小值如int.MinValue、Max

RegularExpress:字符串值必须匹配正则表达式,默认大小写敏感,可以使用(?i)修饰符关闭大小写敏感,比如[RegularExpression("(?i)mypattern")]

Required:属性值必须非空或者不能只是空格,如果允许全空格可以[Required(AllowEmptyStrings = true)]

StringLength:字符串长度不能超过给定的最大长度,也可以指定最小长度:[StringLength(10, MinimumLength=2)]

客户端验证

要使用客户端验证首先需要在web.config中启用:

远程验证

            远程验证是客户端验证和服务端验证的折中方式,客户端在背后通过Ajax请求向服务端验证数据,典型的应用场景可以是用户名的验证,在用户名验证成功后才允许用户继续后续的输入。使用远程验证是从控制器定义一个用于验证的action方法开始:

你可能感兴趣的:(ASP.NET MVC4 模型验证)