JQuery验证日期

时间:2011-11-23 16:22:16

标签: jquery

我试图让我的表单验证...所以基本上它的工作,但有点太好了,我有两个文本框,一个是开始日期,另一个是格式为mm / dd的结束日期月/年

如果开始日期大于结束日期......则出现错误
如果结束日期小于开始日期......则出现错误
如果开始日期小于今天的日期......则会出现错误

唯一的问题是当我更正错误时,错误警告仍然存在......这是我的代码:

// Validate Date Ranges
            if ($(this).val() != '' && dates.not(this).val != '') {
                if ($(this).hasClass("FromCal")) {
                    if (new Date(testDate) > new Date(otherDate)) {
                        addError($(this));
                        $('.flightDateError').text('* Start date must be earlier than end date.');
                        isValid = false;
                        return;
                    }
                }
                else {
                    if (new Date(testDate) < new Date(otherDate)) {
                        addError($(this));
                        $('.flightDateError').text('* End date must be later than start date.');
                        return;
                    }
                }
            }

以下是两个文本框:

<div id="campaign_start" style="display: inline-block">
                <label class="date_range_label">from:</label>  
                <asp:TextBox ID="FromCalTbx" runat="server" Width="100px" CssClass="FromCal editable float_left required" />
              </div>
              <div id="campaign_end" style="display: inline-block">
                <label class="date_range_label">to:</label>
                <asp:TextBox ID="ToCalTbx" runat="server" Width="100px" CssClass="float_left optional"/>
</div>

PS -
testDate是开始日期
otherDate是结束日期

1 个答案:

答案 0 :(得分:1)

如果我理解正确,修复日期不会使错误消息消失吗?

如果是这样,请尝试在您的两个if语句中添加else,并清除错误文本字段。

所以:

else { 
    $('.flightDateError').text(''); 
}