0
我想对2个交叉字段使用jquery validate()规则。如果任何一个字段在另一个字段中输入,也是必需的。此外,一旦需要它们,那么数字字段的格式应该是第15个数字应该是整数,日期字段应该是mm/dd/yyyy格式,并且日期应该小于今天的日期。jquery使用多个if/else条件验证规则
//..
$("#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所需的字段验证工作,但日期> tDate没有得到检查。不知道这种方法是否可行,或者我应该为多种情况做不同的事情。
http://jsfiddle.net/arunpjohny/kfrfebtd/1/ –
..非常感谢。我可以在addMethod中添加自定义验证方法吗?例如,refNumChk应该是16个字符,前15个数字,最后一个字符应该是大写字母。 – JNPW
@JNPW如果这是规则,那么您可以使用additional-method.js中的模式规则,如上所述 –