jq.validate 自定义验证两个日期

时间:2024-01-12 13:05:02

jq.validate 自定义验证两个日期

    首先定义有一个表单,date1和date2是属于表单的元素,若date1大于date2,返回false:若date1<date2,返回true。使用jq.validate中的validator.addMethod()自定义验证。

    具体方法如下:

 jQuery.validator.addMethod("dateCheck", function() {

     var date1= $("# date1").val();
var startLogTimeDate = new Date(Date.parse(date1.replace(/-/g, "/"))).getTime();
var date2= $("# date2").val();
var endLogTimeDate = new Date(Date.parse(date2.replace(/-/g, "/"))).getTime();
if(endLogTimeDate>startLogTimeDate){
return false;
}else{
return true;
}
}, "比较两个时间");

    定义完方法之后,对于用户输入的值进行验证:

 $("获取表单id ").validate({
rules: {
date1: {
required: true,
dateISO:true
},
date2: {
required: true,
dateISO:true,
dateCheck:true
}, },
messages: {
date1: {
required: '请输入日期',
dateISO:'请输入正确格式的日期'
},
date2: {
required: '请输入日期',
dateISO:'请输入正确格式的日期',
dateCheck:' date1日期应大于date2日期'
}, },
submitHandler : function(form) {
$(form).ajaxSubmit({
success : function() {
//前端校验完成提交数据库
onSubmit($(form));
}
});
},
errorPlacement : function(error, element) {
$('button[name="saveButton"]').button('reset');
error.insertAfter(element.parent());
}
});