gpt4 book ai didi

javascript - 使用多个 addMethod jquery

转载 作者:行者123 更新时间:2023-12-03 01:25:33 25 4
gpt4 key购买 nike

我想使用 addMethod 函数和 jQuery 验证器来自定义表单的验证,但是当我尝试添加多个方法时,验证器似乎只查看第一个方法。

这是代码:

  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
}
}
});

问题是,在姓氏上,我希望能够在组合姓氏的情况下添加“-”,我尝试了正则表达式,它的工作原理与我想要的完全一样,但即使我调用该方法“字段规则中的“姓氏”,看来无论如何都要阐述“名字”这个方法了!

预先感谢您的帮助,我真的不明白我在这里缺少什么..

https://jsfiddle.net/2zumkcyg/11/

最佳答案

问题出在您的方法名称上。规则内的 prop name 已经是 $.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
}
}
});
});

DEMO

关于javascript - 使用多个 addMethod jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51562892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com