2014-12-01 89 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

相关问题