JQuery验证
我试图让我的表单进行验证…所以基本上它是工作的,但有点太好了,我有两个文本框,一个是开始日期,另一个是结束日期,格式为mm/dd/yyyy 如果开始日期大于结束日期…则出现错误 如果结束日期小于开始日期…则出现错误 如果开始日期小于今天的日期…则出现错误 唯一的问题是,当我纠正错误时,错误警告仍然存在……以下是我的代码:JQuery验证,jquery,validation,Jquery,Validation,我试图让我的表单进行验证…所以基本上它是工作的,但有点太好了,我有两个文本框,一个是开始日期,另一个是结束日期,格式为mm/dd/yyyy 如果开始日期大于结束日期…则出现错误 如果结束日期小于开始日期…则出现错误 如果开始日期小于今天的日期…则出现错误 唯一的问题是,当我纠正错误时,错误警告仍然存在……以下是我的代码: dates.change(function () { var testDate = $(this).val(); var otherDa
dates.change(function () {
var testDate = $(this).val();
var otherDate = dates.not(this).val();
var now = new Date();
now.setHours(0, 0, 0, 0);
// Pass Dates
if (testDate != '' && new Date(testDate) < now) {
addError($(this));
$('.flightDateError').text('* Dates cannot be earlier than today.');
isValid = false;
return;
}
// Required Text
if ($(this).hasClass("FromCal") && testDate == '') {
addError($(this));
$('.flightDateError').text('* Required');
isValid = false;
return;
}
// Validate Date
if (!isValidDate(testDate)) {
// $(this).addClass('validation_error_input');
addError($(this));
$('.flightDateError').text('* Invalid Date');
isValid = false;
return;
}
else {
// $(this).removeClass('validation_error_input');
removeError($(this));
if (!dates.not(this).hasClass('validation_error_input'))
$('.flightDateError').text(' ');
}
// 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;
}
}
}
});
我认为主要问题是这一部分
// 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;
}
}
}
testDate是开始日期
otherDate是结束日期
这是两个输入框所在的C
<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>
您使用相同的方法测试两个日期,但需要不同的结果。看起来“FromCal”类在这里相当重要;你能展示一些HTML来让它更清楚地说明它是做什么的,以及日期选择器是如何工作的吗?很抱歉回复,我的声誉使我无法发表评论,我想@James:你应该尝试将你的程序员.SE帐户关联起来,这样你就可以重新获得这个问题的所有权。如果你没有注册程序员,SE,考虑注册。