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:表示在前台显示所有的提示语句
 
 
 

posted on 2015-05-10 16:52  阿兴的平凡世界  阅读(180)  评论(0)    收藏  举报

导航