为什么jQuery验证会出现错误的消息?
我将jQuery验证与两个自定义方法和一个标准的为什么jQuery验证会出现错误的消息?,jquery,validation,Jquery,Validation,我将jQuery验证与两个自定义方法和一个标准的required:true方法一起使用来验证日期。一个自定义方法确保日期在将来,另一个方法在日期超出选定间隔时提供动态消息。例如,如果选择的时间间隔为7天,而选择的日期超过7天,则错误消息将提示用户选择该7天时间间隔内的日期 这些方法都能正常工作,但消息不能正确显示在中。如果我选择间隔之外的日期,将显示required:true消息。如果我选择了间隔内的一个日期来通过验证,那么再次选择间隔外的一个日期,它将显示正确的消息。我尝试重新排列规则,但其行
required:true
方法一起使用来验证日期。一个自定义方法确保日期在将来,另一个方法在日期超出选定间隔时提供动态消息。例如,如果选择的时间间隔为7天,而选择的日期超过7天,则错误消息将提示用户选择该7天时间间隔内的日期
这些方法都能正常工作,但消息不能正确显示在中。如果我选择间隔之外的日期,将显示required:true
消息。如果我选择了间隔内的一个日期来通过验证,那么再次选择间隔外的一个日期,它将显示正确的消息。我尝试重新排列规则,但其行为相同
是否有某种方法可以将规则级联到正确的消息中
$('form[name="returnapplyForm"]').validate({
rules: {
returnappfrmnextPayDate :{
within_interval: true,
dateForward:true,
required: true
}
},
messages: {
returnappfrmnextPayDate : {
required: "Please enter your next pay date."
}
}
确保日期在指定间隔内的自定义方法。它是动态的
$.validator.addMethod('within_interval', function(value, element) {
//foo
}, function() {return 'Your next Pay Date should be within ' + dateError + ' days from today.'});
以及日期转发验证程序:
$.validator.addMethod("dateForward", function(value, element) {
// bar
}, "Please enter a valid date in the future.");
我不知道这个问题的答案,但是为什么不使用日期选择器,只允许选择范围内的日期呢?这看起来是这个应用程序的一个很好的解决方案,谢谢。当存在多个规则时,我有其他字段会给我带来相同类型的问题,我希望能够显示验证失败的正确原因。您能创建一个新的字段吗?