Jquery validation engine 如果只有规则,jquery验证引擎funcCall不工作

Jquery validation engine 如果只有规则,jquery验证引擎funcCall不工作,jquery-validation-engine,Jquery Validation Engine,我有一个输入字段,我正试图将自定义验证添加到该字段中(根据另一个字段的不同,这是必需的)。如果我放置required和funcCall(),我可以看到返回了两个错误。如果我只放函数调用,则不会返回任何结果。我知道它会进入函数和条件中,因为我做了一个console.log(),但出于某种原因,它似乎需要一个初始规则才能显示错误 电话: 因此,如果我将通话改为: class="validate[required, funcCall[validatePassportRequired]]" 我得到

我有一个输入字段,我正试图将自定义验证添加到该字段中(根据另一个字段的不同,这是必需的)。如果我放置required和funcCall(),我可以看到返回了两个错误。如果我只放函数调用,则不会返回任何结果。我知道它会进入函数和条件中,因为我做了一个console.log(),但出于某种原因,它似乎需要一个初始规则才能显示错误

电话:

因此,如果我将通话改为:

class="validate[required, funcCall[validatePassportRequired]]"  
我得到两个*这个字段是必需的


我是否必须在funcCall中添加另一个验证规则?

只需在返回错误消息之前添加以下行,而不是在返回消息时将函数名放在.alertText之前

rules.push('required');
@sunzyflower在您的情况下,您的函数将如下所示

function validatePassportRequired(field, rules, i, options) {
   if ($('#register_for').val()!='Local') {
   rules.push('required');  
   return options.allrules.validatePassportRequired.alertText;
   }
}
使用

而不是

funcCall[validatePassportRequired]
这将在没有双重消息的情况下在内部添加required

如果您想了解有关(旧)问题的更多信息:


非常感谢您!事实上,它开始给我双重信息,所以我拿出了报税表,只留下了规则。按(“必选”),这非常有效!
function validatePassportRequired(field, rules, i, options) {
   if ($('#register_for').val()!='Local') {
   rules.push('required');  
   return options.allrules.validatePassportRequired.alertText;
   }
}
funcCallRequired[validatePassportRequired]
funcCall[validatePassportRequired]