我想使用jQuery validate()规则来2个交叉字段。如果在其中一个字段中键入了另一个字段,则也需要输入。此外,一旦他们需要有一个数字字段的格式应该是第15位数字应该是整数和日期字段应该是mm/dd/yyyy
和日期应该小于今天的日期。
//..
$("#adjustmentsFormID").validate({
rules: {
refTranNbr: "required",
refTranDate: "required"
},
messages: {
refTranNbr: {
required: function (element) {
if ($("#refTranDate").val().length > 0) {
return "Please enter the reference transaction number ";
} else if (!refNumChk($("#refTranNbr").val())) {
return "Please enter a valid Reference Transaction Number";
} else {
return false;
}
}
},
refTranDate: {
required : function (element) {
var tdate = $("#refTranDate").val();
if ($("#refTranNbr").val().length > 0) {
return "Please enter a date for the Refering Transaction to complete this transaction.";
} else if ((new Date() > new Date(tdate))) {
return "Please enter a reference transaction date less than today's date.";
} else {
return false;
}
}
},
});
..//
在这两种情况下,要求现场工作的第一个条件。然而,对于refNum
字段,具有refNumChk
的第二个条件不起作用。事实上,它没有被调用。同样,refTranDate所需的字段验证也可以工作,但date > tDate
未被选中。不确定这个方法是否有效,或者我应该为多个条件做一些不同的事情。
1条答案
按热度按时间l7wslrjt1#
您的jQuery验证方法是错误的,
messages
用于在验证错误的情况下仅返回错误消息。所以你正在做的唯一的验证就是所需的验证,你可以添加自定义的验证规则来解决这个问题