2014-12-01 5 views
4

У меня есть два datepickers:проверки даты в DatePicker

$(".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

Модель, View, Con .. жду, в какой структуре вы используете ..? –

+0

@TJ Я использую MVC –

+0

Не могли бы вы объяснить, что вы имеете в виду, когда говорите «это не удается»? Что именно происходит и что вы ожидаете? Кроме того, у вас нет каких-либо правил валидации для проверки. – Jasen

ответ

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

Это не сработало для меня - это порождает ошибку: поле должно быть датой. поэтому я использовал строку типа данных. и когда пользователь вводит 13.11.2014. Поле «Кому» установлено в 24/06/2020. –

+0

Это не сработало для меня. Выдает ошибку для допустимых дат как: Поле должно быть датой, которая неверна. Я пробовал это раньше и менял на строку типа данных –

+0

Я думаю, нам нужно использовать что-то вроде этого. Var validator = $ ("#From") .validate(); validator.showErrors ({ "From": "Укажите действительную дату" }); –

Смежные вопросы