2:MVC特性标签
Required()非空验证 ,使用步骤如下:
非侵入式脚本的使用 (作用:用来检查form表单中所有元素值的合法性)
步骤:
1、在实体属性上打上 [Required(ErrorMessage = "猪名称不能为空")]
2、在视图 上添加 @Html.ValidationMessageFor(c => c.name) :用来显示错误提示信息
3、引入
<script src="~/Scripts/jquery-1.7.1.js"></script>
jquery form表单元素数据合法性检查的插件
<script src="~/Scripts/jquery.validate.js"></script>
jquery form表单元素数据合法性检查的插件的非侵入式脚本
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
4、确认MVC网站中 的web.config中的 <add key="ClientValidationEnabled" value="true" /> value值为true
5、注意点:
所有验证的元素必须放到 <form>表单中,并且是通过 submit按钮来提交
4、[Range(1, 100, ErrorMessage = "id只能取1-100范围中的值")] :进行数值范围限制
4、[StringLength(maxlength,minlength,errormessage=)] :进行字符串长度约束
5、[RegularExpression("^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$",ErrorMessage="名称只能输入中文")]利用正则表达式来检查元素的值是否满足要求
6、System.ComponentModel.DataAnnotations.Compare ()标示当前属性和程序员指定的另外一个属性的值要保持一致
7、[Remote("checkId", "Home", ErrorMessage = "当前id已经被使用,请换一个", HttpMethod="post")]
Remote发出一个post的ajax请求 /Home/checkid 如果id存在则返回 “false” 不存在则返回 "true"
8、[DisplayName("xxx")]:表示一个属性的显示值 ,能够被 @Html.EditorForModel(), @Html.DisplayNameFor(), @Html.LabelFor()解析出来
6、System.ComponentModel.DataAnnotations.Compare ()标示当前属性和程序员指定的另外一个属性的值要保持一致
7、[Remote("checkId", "Home", ErrorMessage = "当前id已经被使用,请换一个", HttpMethod="post")]
Remote发出一个post的ajax请求 /Home/checkid 如果id存在则返回 “false” 不存在则返回 "true"
8、DataType():
DataType.Html :表示当前属性可以呈现html标签代码,在提交的时候不报错
在前台使用特性标签的方法
1:我们都是通过Labled表达式式来根据属性找到对应的标签
2:我们在前台只需要使用3种Html方法就能调用所有的该属性的特性标签
@Html.TextBoxFor() @Displayfor() @Html.ValidationMessageFor(c => c.name)
一般我们是在同一个td中一起使用@Html.TextBoxFor()和@Html.ValidationMessageFor(c => c.name)
在新增逻辑中增加了实体参数合法性验证代码
在add.cshtml中利用
@Html.ValidationSummary(true)
其中true:表示只显示在 ModelState.AddModelError("",“tip”); 添加的提示语
false:表示在前台显示所有的提示语句
浙公网安备 33010602011771号