对于Web系统,对于用户的输入验证是必须的。不仅需要在客户端对用户的输入进行验证,在服务端也需要对用户的执行进行验证。
asp.net MVC中对于验证提供了一种注解机制。注解是一种通用机制,可以用来向框架注入元数据,同时框架不只驱动元数据的验证,还可以生产显示和编辑模型的HTML标记时使用元数据。
1.Required
Required 是MVC提供的一种注解。当属性中一个是null或空时,Required特性将会引发一个验证错误。
[Required(ErrorMessage="")]
2.StringLength
StringLength特性能够验证用户输入字段的长度,控制字段的长度在一定范围内。如果超过规定的范围,就会引发异常。
[StringLength(50,MinimumLength=3)]
3.RegularExpression
RegularExpression特性能够对用户的输入进行正则表达式的验证。正则表达式是一种检查字符串格式和内容的简洁有效验证方式。下面正则表达式能够有效验证email地址。
[RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")]
4.Range
Range特性能够指定数值类型的最小值和最大值。该特性的第一个参数设置最小值。第二个参数设置最大值。Range既可以设置int类型,也可以设置成double类型。
[Range(5,15)]
5.System.Web.Mvc
MVC中提供了两个验证特性,分别是Remote和Compare特性。
Remote特性可以利用服务器端的回调函数执行客户端的验证逻辑。比如验证输入的名称是否已经存在,在客户端验证很难保证字段的唯一性。
[Remote("CheckName","User")]
CheckName 是 User控制器中的方法。
Compare特性,它用于确保模型中的两个属性拥有相同的值。比如在修改密码的时候,需要两次输入密码。
[Compare("Password")]
public String ConfirmPassword{get;set;}
ErrorMessage 可以为注解添加自定义的错误消息提示。