2014-12-01 48 views
4

驗證日期我有兩個datepickers:在日期選擇器

$(".From").datepicker({ 
dateFormat: 'dd/mm/yy', 
numberOfMonths: 1, 
autoclose: true, 
onClose: function(selectedDate) { 
    $(".To").datepicker("option", "minDate", selectedDate); 
}}); 


$(".To").datepicker({ 
dateFormat: 'dd/mm/yy', 
numberOfMonths: 1, 
autoclose: true, 
onClose: function(selectedDate) { 
    $(".From").datepicker("option", "maxDate", selectedDate); 
}}); 

查看:

@Html.TextBoxFor(model => model.From, new { @class = "form-control From" }) 
@Html.TextBoxFor(model => model.To, new { @class = "form-control To" }) 

型號:

[Display(Name = "From")] 
    public string From { get; set; } 

    [Display(Name = "To")] 
    public string To { get; set}; 

當用戶手動輸入的日期,它失敗。

有沒有辦法讓用戶輸入日期並驗證它?

選項1:我應該使用正則表達式嗎?

+0

Model,View,Con ..等等,你正在使用哪個框架..? – 2014-12-01 17:45:54

+0

@TJ我正在使用MVC – 2014-12-01 17:47:11

+0

你能解釋一下你說「它失敗」的意思嗎?究竟發生了什麼,你期望會發生什麼?此外,您似乎沒有任何驗證規則需要驗證。 – Jasen 2014-12-01 18:17:56

回答

1

這裏的工作示例

型號

[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode=true)] 
[DisplayName(Name = "From")] 
public DateTime? From { get; set; } // note the data type 

查看

@Html.TextBoxFor(model => model.From, new { @class = "form-control From" }) 
@Html.ValidationMessageFor(model => model.From) 

不要忘記load the validation scripts

jquery.validate.js 
jquery.validate.unobtrusive.js 

當您嘗試輸入錯誤的日期時,這會給您一個驗證錯誤消息。

+0

它沒有爲我工作,這會引發錯誤:該字段必須是日期。所以我使用了數據類型字符串。並且當用戶輸入11/13/2014時「To」字段設置爲24/06/2020 – 2014-12-03 11:29:59

+0

它對我沒有效用。將有效日期的錯誤引發爲:字段必須是日期 - 這是不正確的。我以前試過,並更改爲數據類型字符串 – 2014-12-03 11:37:32

+0

我想我們需要使用這樣的東西.. var validator = $(「#From」).validate(); validator.showErrors({「{」:「請輸入有效日期」 }); – 2014-12-03 12:14:30

相關問題