我有一个表单,其中必填字段取决于另一个表单字段值。因此,所需规则可能是真或假,取决于其他字段。如果只有必要的话,问题就在于接受规则。我怎么能这样做?
...,
fieldA: {
maxlength: 3,
accept: "[0-9]{3}",
required: function() {
if($('#fieldB').val() == 'ABCD') {
return false;
} else {
return true;
}
}
},...
提前致谢。
答案 0 :(得分:1)
我没有意识到接受'规则是自定义规则。我编辑了代码以检查它是否是可选字段。的 this.optional(元件)强>
jQuery.validator.addMethod("accept", function(value, element, param) {
return this.optional(element) || value.match(new RegExp("^" + param + "$"));
});
@Barmar感谢您的帮助。
答案 1 :(得分:0)
不幸的是,您的required
函数很可能只在呈现表单时被调用,并且不会在独立字段更改时更新依赖字段。你可以使用像反应或淘汰这样的动态ui库,或者你可以简单地将.change()处理程序绑定到操纵另一个属性的独立字段。
如果配置不正确,您还可以将某些内容绑定到.submit(),以阻止提交。