只有当第一个方法为true时,jQuery才会验证第二个方法

只有当第一个方法为true时,jQuery才会验证第二个方法,jquery,jquery-validate,Jquery,Jquery Validate,我有一个特别的问题。我正在使用jqueryvalidate,希望在一个字段上设置多个自定义规则代码如下 var验证={ 选择:{ onkeyup:函数(元素、事件){ if(event.which==9&&this.elementValue(element)===“”){ 返回; }否则{ 验证器。元素(元素); } }, 规则:{ “用户[密码]”:{ 方法1:{}, 方法二:{}, 要求:正确, }, }, }, 消息:{} }; jQuery.validator.addMethod('me

我有一个特别的问题。我正在使用jqueryvalidate,希望在一个字段上设置多个自定义规则代码如下

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
对象之外还有它。谢谢,我以后会记住它的。我已经将我的验证规则放在一个方法中,并且它运行顺利。:)@塔德科维茨,既然我正确地回答了你原来的问题,请接受我的回答。谢谢