4_DataAnnotations 的Model验证

本文详细介绍了在ASP.NET MVC开发中如何使用DataAnnotations进行数据验证,包括Required、StringLength、Range和RegularExpression等验证特性。同时,讨论了在模型、页面端和Action端的验证实现,并针对可能出现的问题如DropDownList验证失败给出了解决方案。
摘要由CSDN通过智能技术生成

前言


  • 前文我们采用了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=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值