我正在使用jQuery验证和2种自定义方法和一种标准的required:true
方法来验证日期。一种自定义方法可确保日期在将来,而另一种则可在日期超出所选时间间隔时提供动态消息。例如,如果选择的间隔是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.");