我想爲我的日期時間字段創建一個自定義的驗證方法,於是我跟着例子在這裏:Jquery validate date range fails這裏:Validate that end date is greater than start date with jQuery定製jQuery驗證方法從來沒有發射
以下是我的表(MVC 3剃鬚刀部分視圖):
@using (Html.BeginForm("CreateFood", "Stock", FormMethod.Post, new { id = "formData" }))
{
@Html.ValidationSummary(false, "Opps. Please correct the mistakes")
<div class="editor-label">
Storage Date
</div>
<div class="editor-field">
@Html.EditorFor(model => model.StorageDate, new { @class = "storedate" })
@Html.ValidationMessageFor(model => model.StorageDate)
</div>
<div class="editor-label">
Expiry Date
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ExpiryDate, new { @class = "expirydate" })
@Html.ValidationMessageFor(model => model.ExpiryDate)
</div>
}
和腳本:
jQuery.validator.addMethod("dateRange", function() {
var date1 = new Date(jQuery(".expirydate").val());
alert(date1);
var date2 = new Date(jQuery(".storedate").val());
alert(date2);
alert(date1 < date2);
return (date1 < date2);
}, "Please check your dates. The start date must be before the end date.");
$createdialog.dialog("option", "buttons", {
"Cancel": function() {
$createdialog.dialog('close');
},
"Submit": function() {
// Validate the form before ask for cabinet
var frm = $('#formData');
var validator = frm.validate({
rules: {
"ExpiryDate": { dateRange: true }
}
});
if (frm.valid()) {
submitForm();
}
問:
我對語法不太確定,我應該在「ExpiryDate」中放置什麼(它是一個選擇器?或者是表單字段名稱? ): VAR驗證= frm.validate({ 規則:{ 「ExpiryDate」:{日期範圍:真正}}
所有警報()的方法犯規表演,所以我假設的方法是永遠火..任何想法?
(PS:我使用的日期選擇爲特定的格式,以及兩個日期字段:
$('.storedate').datepicker({ dateFormat: 'D, dd M yy' });
$('.expirydate').datepicker({ dateFormat: 'D, dd M yy' });
)
真正需要幫助這裏...爲幾天已經在尋找方法,只是實現的日期時間的驗證......
欣賞任何反饋...謝謝... });