我正在使用jQuery validate插件,我有一个自定义方法,我正在验证的字段必须大于另一个字段。
我遇到的问题是当另一个字段为空(不需要)时,我收到一条验证消息,说明该值必须大于其他没有值的字段。
我只需要在其他字段有值或在该部分进行leat pass验证时调用我的自定义方法。
$.validator.addMethod("greaterThan", function (value, element, param) {
var $otherElement = $(param);
return parseInt(value, 10) > parseInt($otherElement.val(), 10);
});
rules: {
other_field: {
required: false,
min: 0,
number: true
},
my_field: {
required: true,
min: 1,
number: true,
greaterThan: "#other_field"
}
}
答案 0 :(得分:0)
只有在其他字段具有值
时才需要调用我的自定义方法
因此,在执行规则之前,只需使用条件查看它是否为空白......
$.validator.addMethod("greaterThan", function (value, element, param) {
var $otherElement = $(param);
if ($otherElement != '') { // <- the other field not empty?
return parseInt(value, 10) > parseInt($otherElement.val(), 10);
};
return true; // <- other field was empty, no error message
});
根据需要调整逻辑......可以修剪空格,测试零等等。