Jquery 验证最小长度与依赖不触发



我正在尝试根据下拉列表的值验证输入的长度。当我在最小长度中添加依赖时,我无法让它工作,但它确实适用于固定值。这有效:

CardNumber: {
  required: {
    depends: function(element){ 
      return $('input[name=PaySelect]:checked').val() == "0";
    }
  }, 
  minlength: 14
},

但这不会:

CardNumber: {
  required: {
    depends: function(element){ 
      return $('input[name=PaySelect]:checked').val() == "0";
    }
  }, 
  minlength: {
    depends: function(element){
      var paymeth = $('select[name="PayMethod"]').val();
      if (paymeth == 'American Express') {
        return 14;
      } else {
        return 16;
      }
    }
  }
},

如果我把alert((放在我可以看到代码触发,但在页面上它永远不会警告用户他们的输入太短,它允许页面继续前进。我做错了什么?

您需要从minlength属性中删除depends,因为 minlength 返回所需的最小字符数,您可以直接检查条件并直接返回适当的数字,例如:

...
minlength: function () {
    var paymeth = $('select[name="PayMethod"]').val();
    if (paymeth == 'American Express') {
        return 14;
    } else {
        return 16;
    }
}

相关内容

  • 没有找到相关文章

最新更新