MVC 数据验证

一、Required

必填选项,当提交的表单缺少该值就引发验证错误。

二、StringLength

指定字符长度

[StringLength(20)]  //字符长度不超过20个字符

[StringLength(20,MinimumLength=3)] //字符长度范围 3-20

三、RegularExpression

正则表达式验证

[RegularExpression(@"^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$", ErrorMessage = "请输入正确的电子邮箱地址!")]

四、Range

指定数值类型的最大值和最小值

[Range(35,44)] //整型,最小35,最大44
[Range(typeof(decimal),"0.00","49.99")] //decimal类型

五、Remote

利用服务器端的回调函数执行客户端的验证逻辑

需要引用命名空间:System.Web.Mvc;

[Remote("CheckUserName", "SysUser", ErrorMessage = "*该用户名已经被注册  //SysUser类名称
public string UserName
{
   get;
   set;
}

Controller代码

[OutputCache(Location = OutputCacheLocation.None, NoStore = true)] //清除缓存
public JsonResult CheckUserName(string UserName)
{
   bool result = true;
   if (UserName == "admin")
   {
     result = false;
   }
   return Json(result, JsonRequestBehavior.AllowGet);
}

六、Compare

用于确保模板对象的两个对象拥有相同的值

[DisplayName("密码")]
[DataType(DataType.Password)]
[Required(ErrorMessage = "密码必须填写")]
[StringLength(20, MinimumLength = 3)]
public string Password { get; set; }

[DisplayName("确认密码")]
[DataType(DataType.Password)]
[Required(ErrorMessage = "确认密码必须填写")]
[System.ComponentModel.DataAnnotations.Compare("Password", ErrorMessage = "两次密码不一致!")]  //添加命名空间引用报错,目前只能这么用,不清楚原因
public string ConfirmPassword { get; set; }

View->Web.Config-> <appSettings>中加入

<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值