只有当第一个方法为true时,jQuery才会验证第二个方法
我有一个特别的问题。我正在使用jqueryvalidate,希望在一个字段上设置多个自定义规则代码如下只有当第一个方法为true时,jQuery才会验证第二个方法,jquery,jquery-validate,Jquery,Jquery Validate,我有一个特别的问题。我正在使用jqueryvalidate,希望在一个字段上设置多个自定义规则代码如下 var验证={ 选择:{ onkeyup:函数(元素、事件){ if(event.which==9&&this.elementValue(element)===“”){ 返回; }否则{ 验证器。元素(元素); } }, 规则:{ “用户[密码]”:{ 方法1:{}, 方法二:{}, 要求:正确, }, }, }, 消息:{} }; jQuery.validator.addMethod('me
var验证={
选择:{
onkeyup:函数(元素、事件){
if(event.which==9&&this.elementValue(element)===“”){
返回;
}否则{
验证器。元素(元素);
}
},
规则:{
“用户[密码]”:{
方法1:{},
方法二:{},
要求:正确,
},
},
},
消息:{}
};
jQuery.validator.addMethod('method1',函数(a、b、c){
返回false;
});
jQuery.validator.addMethod('method2',函数(a、b、c){
console.log('test');
返回true;
});
问题是,只有当方法1返回true时,方法2才会激发。代码就是一个例子。是否有任何选项可以设置这样的行为。我错过什么了吗?我在另一个页面上得到了类似的代码,它工作正常
问题是,只有当方法1返回true时,方法2才会激发。代码就是一个例子
每个字段对规则进行评估,一次评估一个(按照声明的顺序,除了必需的
)
如果该字段是必需的
,则将显示必需的
消息,直到在该字段中键入内容。一旦该字段开始填充,其余方法将按顺序激发。。。将显示method1
消息,直到满足该规则(返回true
)。因此,method2
只有在满足required
和method1
后才会触发(true
)
由于您的method1
始终为false
,因此将永远不会满足要求,也永远不会对method2
进行评估
是否有任何选项可以设置这样的行为
不,它是这样设计的,没有关闭它的选项。否则,您将在一个字段上同时显示多条消息
我错过什么了吗
如果需要同时触发两个自定义方法,则应将这两个规则合并为一个方法
我在另一页上得到了类似的代码,并且它工作正常
取决于您对“相似”和“正确”的定义。如果你认为两条规则同时被评估,那是不可能的。上面OP中的代码
正在按预期和设计工作。
消息
应该是规则
和onkeyup
的兄弟,但您的opt
对象之外还有它。谢谢,我以后会记住它的。我已经将我的验证规则放在一个方法中,并且它运行顺利。:)@塔德科维茨,既然我正确地回答了你原来的问题,请接受我的回答。谢谢