前言
前文我们采用了EF框架,我们会发现,建立的数据库的表中,字段的属性都没有限制,是否为空,长度都没有明确定义。
在网站前端输入的数据,我们要进行验证,当然我们可以采用客户端验证,但是并不保险,客户端我们只进行简单的验证,当然,我们也可以通过ajax进行异步验证,此处我们讲解不使用ajax的简单服务器端验证。
具体实现
Model类中使用DataAnnotations进行验证限制。
Required:标识该属性为必需参数,不能为空
eg: [Required(ErrorMessage = "用户名不能为空")]
StringLength:标识该字符串有长度限制,可以限制最小或最大长度
eg:[StringLength(18, MinimumLength = 6, ErrorMessage = "用户名长度为6-18个字符")]
Range:标识该属性值范围,通常被用在数值型和日期型
eg:[Range(18,50,ErrorMessage="年龄必须在18-50岁之间")]
RegularExpression:标识该属性将根据提供的正则表达式进行对比验证
eg:[RegularExpression(@"^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$", ErrorMessage = "请输入正确的电子邮箱地址!")]
显示属性名
eg:[Display(Name="积分")]
[ScaffoldColumn(false)]生成的模板代码不包括这一属性
[DataType(DataType.Password)]设置数据类型
配置
- 要配置Web.config
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value=