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