使用validate.js比较日期

时间:2011-12-30 04:25:00

标签: jquery datetime

在jquery中我尝试验证我的页面。我必须filds txtStartDatetxtEndDate。我想验证开始日期是否低于结束日期。如果这个条件附加在给定的代码中.Bcz { {1}}和txtPageName已经验证。谢谢。

txtTitle

1 个答案:

答案 0 :(得分:2)

执行此操作可能需要自定义规则。请参阅以下代码: 如果小于结束日期, isAfterStartDate 检查是开始日期并返回布尔值。自定义验证规则使用此方法来验证txtEndDate。

var isAfterStartDate = function(startDateStr, endDateStr) {
            var inDate = new Date(startDateStr),
                eDate = new Date(endDateStr);

            if(inDate < eDate) {
                return false;
            }

        };
jQuery.validator.addMethod("isAfterStartDate", function(value, element) {

        return isAfterStartDate($('#txtStartDate').val(), value);
    }, "End date should be after start date");

 var v = $("#form1").validate({
                ignore: ':hidden',
                rules: {
                    txtPageName: { required: true },
                    txtTitle: { required: true },
                    txtStartDate : {required: true}
                    txtEndDate: {
                                  required: true,
                                  isAfterStartDate: true
                                 }


                },
                messages: {
                    txtPageName: "<br/>Please enter a Page Name",
                    txtTitle: "<br/>Please enter a Title"
                }
            });

这假设日期格式为“dd / mm / yyyy”。