如果其他字段不为空,jQuery验证调用自定义方法

时间:2015-04-09 08:44:00

标签: jquery jquery-validate

我正在使用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"
    }
}

1 个答案:

答案 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
});

根据需要调整逻辑......可以修剪空格,测试零等等。