我正在使用表单中的jquery验证,我的代码正在关注
Jquery
$(document).ready(function () {
$('#myformid').validate();
$.validator.addMethod("endDate", function (value, element) {
var startDate = $('.startDate').val();
return Date.parse(startDate) <= Date.parse(value);
}, "* End date must be Equal/After start date");
});
我想用jquery比较两个日期,如果结束日期大于开始日期,则jquery显示验证错误,但是如果我输入一些有效日期显示错误后验证消息不会消失,直到我提交我的表格。应该是什么问题?
答案 0 :(得分:0)
如果只更改endDate,验证应该正常工作(请参阅here,提交表单,然后修复endDate,错误消息将消失),但我猜你的问题是当你更改startDate以使用endDate ...
更正问题在这种情况下,当startDate也发生变化时,您需要触发endDate
验证:
$('input[name="startDate"]').blur(function(){
if ($('input[name="endDate"].error').length){
validateObject.element($('input[name="endDate"]'));
}
});
if语句只是检查endDate输入是否已经处于“错误”状态,然后再重新验证它。 validateObject
是验证对象,从$('#myformid').validate()
返回。
您可以在此处查看该版本:http://jsfiddle.net/ryleyb/zhN6q/1/