首页 > 代码库 > MVC - 13.验证

MVC - 13.验证

1.MVC验证

1.1.验证方式

引入命名空间

using System.ComponentModel.DataAnnotations;

定义验证规则:

Model属性添加内置验证特性,介绍用的最多的其中的四个:

[Required], [StringLength], [Range], 和 [RegularExpression]

[StringLength(4,ErrorMessage="您使用的名称太长了~")]        public string Name { get; set; }

生成的Html代码:

<input type="text" value=http://www.mamicode.com/"" name="Name" id="Name" data-val-length-max="4" data-val-length="您使用的名称太长了~" data-val="true" class="text-box single-line">

 

客户端验证:

1.引入JS脚本支持

<script src=http://www.mamicode.com/"@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>

<script src=http://www.mamicode.com/"@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

2.添加语句

@{Html.EnableClientValidation(true);}(MVC3中默认开启)

服务端验证:

控制器中使用:ModelState.IsValid 判断是否通过验证

 

*定义自己的定制验证特性,然后应用它们。你可以通过继承自System.ComponentModel.DataAnnotations命名空间中 的ValidationAttribute基类,定义完全定制的特性。

public class EmailAttribute : RegularExpressionAttribute

{

public EmailAttribute()

:base(@"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$")

{

}

}

1.2.显示错误消息:

在单元格后面显示:@Html.ValidationMessageFor(s=>s.Name)

集中在一个地方显示:@Html.ValidationSummary()