JQuery验证规则依赖于另一个规则



我有一个表单,其中所需的字段取决于另一个表单字段值。因此,所需的规则可能是真的,也可能是假的,这取决于其他字段。问题是,如果只有必需的为true,则应存在接受规则。我该怎么做?

...,
fieldA: {
     maxlength: 3,
     accept: "[0-9]{3}",
     required: function() {
          if($('#fieldB').val() == 'ABCD') {
               return false;
          } else {
               return true;
          }
     }
},...

提前谢谢。

我没有意识到"accept"规则是一个自定义规则。我编辑了代码以检查它是否是可选字段这个。可选(元素)

jQuery.validator.addMethod("accept", function(value, element, param) {
    return this.optional(element) || value.match(new RegExp("^" + param + "$"));
});

@Barmar谢谢你的帮助。

不幸的是,您的required函数可能只有在表单呈现时才会被调用,并且不会随着独立字段的更改而更新依赖字段。您可以使用像react或knocket这样的dymanic ui库,也可以简单地将.change()处理程序绑定到操纵另一个属性的独立字段。

如果配置不正确,您也可以将某些内容绑定到.submit(),以阻止提交。

相关内容

最新更新