Cet article présente principalement les paramètres liés à jQuery Validate et les règles de validation personnalisées couramment utilisées. Il est très bon et a une valeur de référence. Les amis dans le besoin peuvent s'y référer.
Jquery Valider les paramètres associés
//定义中文消息 var cnmsg = { required: “必选字段”, remote: “请修正该字段”, email: “请输入正确格式的电子邮件”, url: “请输入合法的网址”, date: “请输入合法的日期”, dateISO: “请输入合法的日期 (ISO).”, number: “请输入合法的数字”, digits: “只能输入整数”, creditcard: “请输入合法的信用卡号”, equalTo: “请再次输入相同的值”, accept: “请输入拥有合法后缀名的字符串”, maxlength: jQuery.format(“请输入一个长度最多是 {0} 的字符串”), minlength: jQuery.format(“请输入一个长度最少是 {0} 的字符串”), rangelength: jQuery.format(“请输入一个长度介于 {0} 和 {1} 之间的字符串”), range: jQuery.format(“请输入一个介于 {0} 和 {1} 之间的值”), max: jQuery.format(“请输入一个最大为 {0} 的值”), min: jQuery.format(“请输入一个最小为 {0} 的值”) }; jQuery.extend(jQuery.validator.messages, cnmsg);
Jquery Valider les règles de validation
(1)obligatoire : vrai champ obligatoire
(2)remote : "check.PHP" Utilisez la méthode ajax pour appeler check.php pour vérifier la valeur d'entrée
(3)email:true Vous devez saisir le format correct de l'e-mail
(4)url:true Vous devez saisir l'URL au bon format
(5)date:true Vous devez saisir la date au bon format format
( 6)dateISO:true Vous devez saisir la date (ISO) au bon format, par exemple : 2009-06-23, 1998/01/22 Seul le format est vérifié, mais la validité n'est pas vérifiée
(7)nombre : vrai doit saisir des nombres légaux (nombres négatifs, décimaux)
(8)chiffres : vrai doit saisir des nombres entiers
(9)carte de crédit : doit saisir un numéro de carte de crédit légal
(10)equalTo : "#field" La valeur de saisie doit être la même que #field
(11)accepter : saisissez une chaîne avec un nom de suffixe légal (du suffixe du fichier téléchargé)
(12)maxlength:5 Saisissez une chaîne d'une longueur maximale de 5 (les caractères chinois comptent pour un caractère)
(13)minlength:10 La longueur minimale de saisie est une chaîne de 10 (les caractères chinois comptent pour un caractère)
(14)rangelength :[5,10] La longueur d'entrée doit être une chaîne comprise entre 5 et 10") (les caractères chinois comptent pour un caractère)
(15)range:[5,10] La valeur d'entrée doit être comprise entre 5 et 10
(16)max:5 La valeur d'entrée ne peut pas être supérieure à 5
(17)min:10 La valeur d'entrée ne peut pas être inférieur à 10
Jquery Valider les règles de validation personnalisées
méthode addMethod(name, method, message) :
Le nom du paramètre est le nom de la méthode ajoutée
La méthode paramètre est une fonction qui reçoit trois paramètres (valeur, élément, param) la valeur est la valeur de l'élément, l'élément est l'élément lui-même param
est un paramètre. ajoutez des méthodes de validation autres que les méthodes de validation intégrées. Par exemple, s'il y a un champ, seul
peut saisir une lettre et la plage est a-f. Elle s'écrit comme suit :
$.validator.addMethod(“af”,function(value,element,params){ if(value.length>1){ return false; } if(value>=params[0] && value<=params[1]){ return true; }else{ return false; } },”必须是一个字母,且a-f”);
Lorsqu'il est utilisé, par exemple, s'il y a un champ de formulaire avec id="username", écrivez
username:{ af:["a","f"] }
method
Le premier paramètre de addMethod dans les règles est d'ajouter Le nom de la méthode de vérification est désormais af
Le troisième paramètre de addMethod est l'invite d'erreur personnalisée. L'invite ici est : "Doit être une lettre, et a-f"
submitHandler: 通过验证后运行的函数,里面要加上表单提交的函 数,否则表单不会提交 $(".selector").validate({ submitHandler:function(form) { $(form).ajaxSubmit(); //用Jquery Form的函数 } }) Jquery Validate error 错误提示dom .errorPlacement:Callback Default: 把错误信息放在验证的元素后面 指明错误放置的位置,默认情况是:error.appendTo(element.parent());即把错误信息放在验证的元素后面 errorPlacement: function(error, element) { error.appendTo(element.parent()); }
input.error { border: 1px solid red; } label.error { background:url(“./demo/images/unchecked.gif”) no-repeat 0px 0px; padding-left: 16px; padding-bottom: 2px; font-weight: bold; color: #EA5200; }
// 字符验证 jQuery.validator.addMethod(“stringCheck”, function(value, element) { return this.optional(element) || /^[u0391-uFFE5w]+$/.test(value); }, ”只能包括中文字、英文字母、数字和下划线”); // 中文字两个字节 jQuery.validator.addMethod(“byteRangeLength”, function(value, element, param) { var length = value.length; for(var i = 0; i < value.length; i++){ if(value.charCodeAt(i) > 127){ length++; } } return this.optional(element) || ( length >= param[0]&&length <= param[1] ); }, ”请确保输入的值在3-15个字节之间(一个中文字算2个字节)”); // 身份证号码验证 jQuery.validator.addMethod(“isIdCardNo”, function(value, element) { return this.optional(element) || isIdCardNo(value); }, ”请正确输入您的身份证号码”); // 手机号码验证 jQuery.validator.addMethod(“isMobile”, function(value, element) { var length = value.length; var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+d{8})$/; return this.optional(element) || (length == 11 && mobile.test(value)); }, ”请正确填写您的手机号码”); // 电话号码验证 jQuery.validator.addMethod(“isTel”, function(value, element) { var tel = /^d{3,4}-?d{7,9}$/; //电话号码格式010-12345678 return this.optional(element) || (tel.test(value)); }, ”请正确填写您的电话号码”); // 联系电话(手机/电话皆可)验证 jQuery.validator.addMethod(“isPhone”, function(value,element) { var length = value.length; var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+d{8})$/; var tel = /^d{3,4}-?d{7,9}$/; return this.optional(element) || (tel.test(value) || mobile.test(value)); }, ”请正确填写您的联系电话”); // 邮政编码验证 jQuery.validator.addMethod(“isZipCode”, function(value, element) { var tel = /^[0-9]{6}$/; return this.optional(element) || (tel.test(value)); }, ”请正确填写您的邮政编码”); function isIdCardNo(num) { var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1); var parityBit=new Array(“1″,”0″,”X”,”9″,”8″,”7″,”6″,”5″,”4″,”3″,”2″); var varArray = new Array(); var intValue; var lngProduct = 0; var intCheckDigit; var intStrLen = num.length; var idNumber = num; // initialize if ((intStrLen != 15) && (intStrLen != 18)) { return false; } // check and set value for(i=0;i<intStrLen;i++) { varArray[i] = idNumber.charAt(i); if ((varArray[i] < '0′ || varArray[i] > '9′) && (i != 17)) { return false; } else if (i < 17) { varArray[i] = varArray[i] * factorArr[i]; } } if (intStrLen == 18) { //check date var date8 = idNumber.substring(6,14); if (isDate8(date8) == false) { return false; } // calculate the sum of the products for(i=0;i<17;i++) { lngProduct = lngProduct + varArray[i]; } // calculate the check digit intCheckDigit = parityBit[lngProduct % 11]; // check last digit if (varArray[17] != intCheckDigit) { return false; } } else{ //length is 15 //check date var date6 = idNumber.substring(6,12); if (isDate6(date6) == false) { return false; } } return true; } function isDate6(sDate) { if(!/^[0-9]{6}$/.test(sDate)) { return false; } var year, month, day; year = sDate.substring(0, 4); month = sDate.substring(4, 6); if (year < 1700 || year > 2500) return false if (month < 1 || month > 12) return false return true } function isDate8(sDate) { if(!/^[0-9]{8}$/.test(sDate)) { return false; } var year, month, day; year = sDate.substring(0, 4); month = sDate.substring(4, 6); day = sDate.substring(6, 8); var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31] if (year < 1700 || year > 2500) return false if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29; if (month < 1 || month > 12) return false if (day < 1 || day > iaMonthDays[month - 1]) return false return true } // 身份证号码验证 jQuery.validator.addMethod(“idcardno”, function(value, element) { return this.optional(element) || isIdCardNo(value); }, “请正确输入身份证号码”); //字母数字 jQuery.validator.addMethod(“alnum”, function(value, element) { return this.optional(element) || /^[a-zA-Z0-9]+$/.test(value); }, “只能包括英文字母和数字”); // 邮政编码验证 jQuery.validator.addMethod(“zipcode”, function(value, element) { var tel = /^[0-9]{6}$/; return this.optional(element) || (tel.test(value)); }, “请正确填写邮政编码”); // 汉字 jQuery.validator.addMethod(“chcharacter”, function(value, element) { var tel = /^[u4e00-u9fa5]+$/; return this.optional(element) || (tel.test(value)); }, “请输入汉字”); // 字符最小长度验证(一个中文字符长度为2) jQuery.validator.addMethod(“stringMinLength”, function(value, element, param) { var length = value.length; for ( var i = 0; i < value.length; i++) { if (value.charCodeAt(i) > 127) { length++; } } return this.optional(element) || (length >= param); }, $.validator.format(“长度不能小于{0}!”)); // 字符最大长度验证(一个中文字符长度为2) jQuery.validator.addMethod(“stringMaxLength”, function(value, element, param) { var length = value.length; for ( var i = 0; i < value.length; i++) { if (value.charCodeAt(i) > 127) { length++; } } return this.optional(element) || (length <= param); }, $.validator.format(“长度不能大于{0}!”)); // 字符验证 jQuery.validator.addMethod(“string”, function(value, element) { return this.optional(element) || /^[u0391-uFFE5w]+$/.test(value); }, “不允许包含特殊符号!”); // 手机号码验证 jQuery.validator.addMethod(“mobile”, function(value, element) { var length = value.length; return this.optional(element) || (length == 11 && /^(((13[0-9]{1})|(15[0-9]{1}))+d{8})$/.test(value)); }, “手机号码格式错误!”); // 电话号码验证 jQuery.validator.addMethod(“phone”, function(value, element) { var tel = /^(d{3,4}-?)?d{7,9}$/g; return this.optional(element) || (tel.test(value)); }, “电话号码格式错误!”); // 邮政编码验证 jQuery.validator.addMethod(“zipCode”, function(value, element) { var tel = /^[0-9]{6}$/; return this.optional(element) || (tel.test(value)); }, “邮政编码格式错误!”); // 必须以特定字符串开头验证 jQuery.validator.addMethod(“begin”, function(value, element, param) { var begin = new RegExp(“^” + param); return this.optional(element) || (begin.test(value)); }, $.validator.format(“必须以 {0} 开头!”)); // 验证两次输入值是否不相同 jQuery.validator.addMethod(“notEqualTo”, function(value, element, param) { return value != $(param).val(); }, $.validator.format(“两次输入不能相同!”)); // 验证值不允许与特定值等于 jQuery.validator.addMethod(“notEqual”, function(value, element, param) { return value != param; }, $.validator.format(“输入值不允许为{0}!”)); // 验证值必须大于特定值(不能等于) jQuery.validator.addMethod(“gt”, function(value, element, param) { return value > param; }, $.validator.format(“输入值必须大于{0}!”)) ;
<style type="text/css"> * { font-family: Verdana; font-size: 96%; } label { width: 10em; float: left; } label.error { float: none; color: red; padding-left: .5em; vertical-align: top; } p { clear: both; } .submit { margin-left: 12em; } em { font-weight: bold; vertical-align: top;width: 22px; display: inline-block; } i.error {background:url("images/unchecked.gif") no-repeat 0px 0px;padding-left: 16px;font-style: inherit;} i.success {background:url("images/checked.gif") no-repeat 0px 0px; padding-left: 16px;font-style: inherit;} input{width: 230px;} </style> <script type="text/javascript"> $(document).ready(function(){ //自定义一个验证方法 $.validator.addMethod( "formula", //验证方法名称 function(value, element, param) {//验证规则 return value == eval(param); }, '请正确输入数学公式计算后的结果'//验证提示信息 ); $("#commentForm").validate({ rules: { username: { required: true, minlength: 2 }, email: { required: true, email: true }, url:"url", comment: "required", valcode: { formula: "7+9" } }, messages: { username: { required: '请输入姓名', minlength: '请至少输入两个字符' }, email: { required: '请输入电子邮件', email: '请检查电子邮件的格式' }, url: '请检查网址的格式', comment: '请输入您的评论' }, errorElement: "i", //用来创建错误提示信息标签 success: function(label) { //验证成功后的执行的回调函数 //label指向上面那个错误提示信息标签em label.text(" ") //清空错误提示消息 .addClass("success"); //加上自定义的success类 } }); }); </script> <form class="cmxform" id="commentForm" method="get" action="">
<legend>一个简单的验证带验证提示的评论例子</legend> <p> <label for="cusername">姓名</label> <em>*</em><input id="cusername" name="username" size="25" /> </p> <p> <label for="cemail">电子邮件</label> <em>*</em><input id="cemail" name="email" size="25" /> </p> <p> <label for="curl">网址</label> <em> </em><input id="curl" name="url" size="25" value="" /> </p> <p> <label for="ccomment">你的评论</label> <em>*</em><textarea id="ccomment" name="comment" cols="22"></textarea> </p> <p> <label for="cvalcode">验证码</label> <em> </em><input id="cvalcode" name="valcode" size="25" value="" />=7+9 </p> <p> <input class="submit" type="submit" value="提交"/> </p> </form>
jQuery Validate ne peut pas vérifier l'élément de sélection choisi. Comment le résoudre
jQuery Validate vérifie plusieurs instances du même nom. Partager
Explication détaillée du plug-in de validation de formulaire jQuery Validate
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!