我有一个输入字段,我正在尝试添加自定义验证(根据另一个字段需要)。如果我放入必需的AND funcCall(),我可以看到返回两个错误。如果我只把funcCall放回去。我知道它正在进入函数和条件,因为我做了一个console.log()但由于某种原因,它似乎需要一个初始规则才能显示错误。
呼叫:
<input type="text" class="validate[funcCall[validatePassportRequired]]" id="form_register_passport_number" value="" name="passport_number" size="50">
功能:
function validatePassportRequired(field, rules, i, options) {
if ($('#register_for').val()!='Local') {
return options.allrules.required.alertText;
}
}
所以,如果我将呼叫更改为:
class="validate[required, funcCall[validatePassportRequired]]"
我得到两个*这个字段是必需的
我是否必须有另一个验证规则和funcCall?
答案 0 :(得分:12)
只需在返回错误消息之前添加以下行,而不是在返回消息中需要将函数名称放在.alertText之前。
rules.push('required');
@sunzyflower在你的情况下,你的功能会看起来像..
function validatePassportRequired(field, rules, i, options) {
if ($('#register_for').val()!='Local') {
rules.push('required');
return options.allrules.validatePassportRequired.alertText;
}
}
答案 1 :(得分:1)
使用
funcCallRequired[validatePassportRequired]
而不是
funcCall[validatePassportRequired]
这将在内部添加所需内容,而不会显示双重消息。
如果您想了解有关(旧)问题的更多信息: