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