学习篇:js校验、mvc实体校验和自定义实体校验

时间:2022-07-07 20:35:56

1.js校验

想要使用js校验,需要引入jquery.validate.js文件。

其实js前端校验,只需要两个属性就搞定了:rules,messages.

再rules中添加规则,messages里面添加提示信息。

校验规则:

(1)required:true 必输字段

(2)remote:"check.php" 使用ajax方法调用check.php验证输入值
(3)email:true 必须输入正确格式的电子邮件
(4)url:true 必须输入正确格式的网址
(5)date:true 必须输入正确格式的日期 日期校验ie6出错,慎用
(6)dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性
(7)number:true 必须输入合法的数字(负数,小数)
(8)digits:true 必须输入整数
(9)creditcard: 必须输入合法的信用卡号
(10)equalTo:"#field" 输入值必须和#field相同
(11)accept: 输入拥有合法后缀名的字符串(上传文件的后缀)
(12)maxlength:5 输入长度最多是5的字符串(汉字算一个字符)
(13)minlength:10 输入长度最小是10的字符串(汉字算一个字符)
(14)rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)
(15)range:[5,10] 输入值必须介于 5 和 10 之间
(16)max:5 输入值不能大于5
(17)min:10 输入值不能小于10

默认的提示
messages: {
required: "This field is required.",
remote: "Please fix this field.",
email: "Please enter a valid email address.",
url: "Please enter a valid URL.",
date: "Please enter a valid date.",
dateISO: "Please enter a valid date (ISO).",
dateDE: "Bitte geben Sie ein g眉ltiges Datum ein.",
number: "Please enter a valid number.",
numberDE: "Bitte geben Sie eine Nummer ein.",
digits: "Please enter only digits",
creditcard: "Please enter a valid credit card number.",
equalTo: "Please enter the same value again.",
accept: "Please enter a value with a valid extension.",
maxlength: $.validator.format("Please enter no more than {0} characters."),
minlength: $.validator.format("Please enter at least {0} characters."),
rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."),
range: $.validator.format("Please enter a value between {0} and {1}."),
max: $.validator.format("Please enter a value less than or equal to {0}."),
min: $.validator.format("Please enter a value greater than or equal to {0}.")
}

 

2.mvc3实体校验

mvc3实体校验,js和dom完全分离。使用需要引入 ...validate.unobtrusive.js文件。只有四种标签可供使用。

[Required(....)]//必填项

[Range(min,max)]//校验只能在这范围的数字

[RegularExpression(....)]//正则表达式校验数据

[StringLength(....)]//字符串长度校验

如果是mvc2使用的话,还需要在前端加上@Html.EnableClientValidation();启用前端校验。使用上面的标签才有效果。

3.自定义实体校验

这里有一个概念就是“伙伴类”。

[MetadataType(typeof(B))]//此类共享B类元数据信息

public partical class A

{

.....

}

public  class B

{

  [Required(ErrorMessage=".....")]

  public string Aname{get;set;}

}

上面就是demo.....

写的不是很全面,算是自己的小总结吧。