jQuery 根据条件验证最大长度参数

jQuery Validation maxlength parameter based on conditional

如何使用 jQuery 基于条件的验证来更改文本框的最大长度。

代码

 SSN: { required: true, minlength: 9, maxlength: 9 }

如何根据 if-else 条件更改最大长度?

正如这个 doc 所示,我认为您可以通过 maxlength 方法更改 maxlength :

$( "#yourTextBox" ).validate({
  rules: {
    field: {
      required: true,
      maxlength: function(){
        return condition ? valueIfTrue, valueIfFalse;
      }
    }
  }
});

编辑:正如@Sparky 所指出的,无法重新初始化配置。所以 maxlength 应该通过回调函数来改变。

三元表达式会是您想要的吗?

SSN: { required: true, minlength: 9, maxlength: ((condition)?true:false) }

示例:

SSN: { required: true, minlength: 9, maxlength: ((my_var=="short")?13:17) }

满足则打印13,否则打印17

编辑:更正最大长度,使其大于最小长度。