3
試圖在定製驗證方法添加到jQuery.validator我所面臨的問題:jQuery的自定義日期驗證只能一次
$.validator.addMethod("fromDate", function (value, element) {
var fromDateTime = moment(value, 'm/dd/yyyy HH:mm');
var toDateTime = moment($("#endDate").val(), 'm/dd/yyyy HH:mm');
if (fromDateTime.isValid() && toDateTime.isValid()) {
return toDateTime.diff(fromDateTime) > 0;
}
return false;
}, "Start datetime should be less than end datetime");
$('#queryingDateForm').on('submit', function (e) {
e.preventDefault();
$('#queryingDateForm').validate({
rules: {
start: {
required: true,
fromDate: true
}
},
submitHandler: function (form) {
load();
}
});
});
這行代碼正常工作只有第一次,所以驗證工作只有一次。
return toDateTime.diff(fromDateTime) > 0;
第二次如此返回第一次返回的值。
HTML:
<form id="queryingDateForm">
<div class="input-group input-daterange">
<input class="form-control dateTimePicker" id="startDate" type="datetime" placeholder="Date Start" name="start" required />
<span class="input-group-addon">@QueryingResources.To</span>
<input class="form-control dateTimePicker" id="endDate" type="datetime" placeholder="Date End" name="end" required />
<div class="input-group-btn">
<button type="submit" class="btn btn-success searchQuery" id="searchDateBtn">@QueryingResources.Search</button>
</div>
</div>
</form>
,這是自舉的DateTimePicker如何初始化:
$(".dateTimePicker").datetimepicker({
autoclose: true,
format: 'm/dd/yyyy hh:ii'
});
在此先感謝
謝謝,我的注意力不集中 – BumbleBee