jQuery验证依赖必需和notEqual

时间:2012-08-09 01:22:27

标签: jquery validation jquery-validate required

使用jQuery验证插件我已经弄清楚如何根据另一个字段的输入创建一个字段,以及如何使字段不等于默认值 - 但是我很难将两者结合起来。只需要一个字段在需要时不等于默认值。这是我的代码:

$(document).ready(function () {
$.validator.addMethod("notEqual", function(value, element, param) {
  return this.optional(element) || value !== param;
}, "Please specify a non-default value");

$("#request").validate({
  rules: {
        format: {
            required    : true,
        },
        citySuburb      :   {
            required    : function(element) {
                    return $("#format").val()=="print"
                    },
            notEqual    : "Please enter your city."
            },
      }
    });
});

正如您在上面的示例中所看到的,citySuburb字段始终检查它是否等于默认值,无论字段本身是否是必需的。 我真的希望这样做,以便citySuburb只检查当需要该字段时是否是默认值(即在格式字段中选择'print')。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

更改notEqual方法,使其接受命名参数,例如

notEqual: { default: "Please enter your city.",
            otherField: "#format",
            otherFieldValue: "print"
          }

然后使用notEqual方法检查$(param.otherField).val() == param.otherFieldValue