使用倍数 addMethod jquery
using multiples addMethod jquery
我想使用带有 jQuery 验证器的 addMethod 函数来自定义我的表单验证,但是当我尝试添加多个方法时,验证器似乎只查看第一个。
代码如下:
jQuery.validator.addMethod("name", function(value, element) {
return this.optional(element) || /^[A-Za-zÀ-ÖØ-öø-ÿ]{2,30}$/.test(value);
}, "please enter a valid name");
jQuery.validator.addMethod("surname", function(value, element) {
return this.optional(element) || /^[A-Za-zÀ-ÖØ-öø-ÿ]{1,30}\-?[A-Za-zÀ-ÖØ-öø-ÿ]{1,30}$/.test(value);
}, "please enter a valid surname");
$("#contactform").validate({
rules: {
firstname:{
required: true,
name: true,
minlength: 2,
maxlength: 30
},
lastname:{
required: true,
surname: true,
minlength: 2,
maxlength: 30
}
}
});
问题是我希望能够在姓氏上添加“-”以防组合姓氏,我尝试了 regEx 并且它完全按照我的意愿工作,但即使我调用method'surname'在字段规则里,好像详细说明了method'name'反正!
在此先感谢您的帮助,我真的不明白我在这里遗漏了什么..
问题出在您的方法名称上。 prop name
inside rules 已经是 $.validator
中的预定义规则,如 minLength
。如果您将 name
更改为除此之外的任何内容,它将起作用。
JS
$(document).ready(function(){
$.validator.addMethod("named", function(value, element){
return this.optional(element) || /^[A-Za-zÀ-ÖØ-öø-ÿ]{2,30}$/.test(value);
}, "Please enter a valid name.");
$.validator.addMethod("surname", function(value, element){
return this.optional(element) || /^[A-Za-zÀ-ÖØ-öø-ÿ]{1,30}\-?[A-Za-zÀ-ÖØ-öø-ÿ]{1,30}$/.test(value);
}, "Please enter a valid surname.");
$("#contactform").validate({
rules: {
firstname: {
required: true,
named: true,
minlength: 2,
maxlength: 30
},
lastname:{
required: true,
surname: true,
minlength: 2,
maxlength: 30
}
}
});
});
我想使用带有 jQuery 验证器的 addMethod 函数来自定义我的表单验证,但是当我尝试添加多个方法时,验证器似乎只查看第一个。
代码如下:
jQuery.validator.addMethod("name", function(value, element) {
return this.optional(element) || /^[A-Za-zÀ-ÖØ-öø-ÿ]{2,30}$/.test(value);
}, "please enter a valid name");
jQuery.validator.addMethod("surname", function(value, element) {
return this.optional(element) || /^[A-Za-zÀ-ÖØ-öø-ÿ]{1,30}\-?[A-Za-zÀ-ÖØ-öø-ÿ]{1,30}$/.test(value);
}, "please enter a valid surname");
$("#contactform").validate({
rules: {
firstname:{
required: true,
name: true,
minlength: 2,
maxlength: 30
},
lastname:{
required: true,
surname: true,
minlength: 2,
maxlength: 30
}
}
});
问题是我希望能够在姓氏上添加“-”以防组合姓氏,我尝试了 regEx 并且它完全按照我的意愿工作,但即使我调用method'surname'在字段规则里,好像详细说明了method'name'反正!
在此先感谢您的帮助,我真的不明白我在这里遗漏了什么..
问题出在您的方法名称上。 prop name
inside rules 已经是 $.validator
中的预定义规则,如 minLength
。如果您将 name
更改为除此之外的任何内容,它将起作用。
JS
$(document).ready(function(){
$.validator.addMethod("named", function(value, element){
return this.optional(element) || /^[A-Za-zÀ-ÖØ-öø-ÿ]{2,30}$/.test(value);
}, "Please enter a valid name.");
$.validator.addMethod("surname", function(value, element){
return this.optional(element) || /^[A-Za-zÀ-ÖØ-öø-ÿ]{1,30}\-?[A-Za-zÀ-ÖØ-öø-ÿ]{1,30}$/.test(value);
}, "Please enter a valid surname.");
$("#contactform").validate({
rules: {
firstname: {
required: true,
named: true,
minlength: 2,
maxlength: 30
},
lastname:{
required: true,
surname: true,
minlength: 2,
maxlength: 30
}
}
});
});