jQuery Validation添加一个新方法

时间:2013-03-11 10:13:29

标签: jquery jquery-validate

我想要做的是添加一个新的验证方法,该方法将验证两个字段是否相等如果勾选了一个单选按钮则依赖于此(请参阅此处 - http://jsfiddle.net/dazziep/uVnQ4/9/

我所使用的代码,但是我不得不通过在实际方法中添加字段来稍微捏一下它,我宁愿通过它。

所以此刻我......

jQuery.validator.addMethod("test", function(value, element, param){
   // check if dependency is met
   if (!this.depend(param, element)) return "dependency-mismatch";
   return value != $("#ImEqDepEq").val();
   },
   jQuery.format("Should not match Equality value.")
);`

我显然只想要($(“#ImEqDepEq”)。val())作为我传入的另一个参数。

我希望这有点道理,我在解释事情时很垃圾:(

欢呼

哈根达斯

1 个答案:

答案 0 :(得分:3)

您可以使用param选项将其他信息传递给规则。

$("form").validate({
    rules: {
        ImEqDep: {
            test: {
                depends: function () {
                    return $("#ImEqDepRad1Yes").is(':checked');
                },
                param: '#ImEqDepEq'
            }
        }
    }
});

jQuery.validator.addMethod("test", function (value, element, param) {
    // check if dependency is met
    if (!this.depend(param, element)) return "dependency-mismatch";
    return value != $(param).val();
}, jQuery.format("Should not match Equality value."));

演示:Fiddle