2017-01-02 6 views
1

Здравствуйте предположив я есть модели с полем, как это: (mvc5)Дата выбора в связи бритвы с ограничением

[DataType(DataType.Date)] 
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] 
public Nullable<System.DateTime> Date { get; set; } 

В представлении бритвы (3.0) я использовать помощник Html, чтобы показать выбора даты поле, как этот:

@Html.EditorFor(model => model.reunion.Date) 
    @Html.ValidationMessageFor(model => model.reunion.Date) 

на входе в HTML у меня будет что-то вроде этого:

<input class="text-box single-line valid" data-val="true" data-val-date="The field Date must be a date." data-val-required="O campo Date é necessário." id="reunion_Date" name="reunion.Date" type="date" value="2017-01-01" aria-required="true" aria-describedby="reunion_Date-error" aria-invalid="false"> 

И образ подборщика даты:

Picker of date

Он отлично работает.

Но давайте предположим, что я хочу ограничить дату, когда пользователь может выбрать только даты, которые равны или больше фактической даты. Как я могу это сделать?

+0

Попытка ограничить с помощью java-script с использованием maxDate и minDate –

+0

Почему вы принимаете дату как Nullable? –

+0

Дата Nullable date, потому что сгенерирована модель из базы данных, где я оставил параметр, чтобы разрешить null. – Nmaster88

ответ

1

Попробуйте, как это -

<script type="text/javascript"> 

    $(document).ready(function() { 
     $("#Date").datepicker({ minDate: -20, maxDate: "+1M +10D" }); 
    }); 
</script> 
+0

tks для awnser, но это не работает: s – Nmaster88

+0

В чем проблема с этим решением? –

+0

проверить это - http://20fingers2brains.blogspot.com/2013/05/restrict-date-range-in-jquery.html –

0

Создание пользовательского атрибута, здесь у меня есть пример:

public class FutureDateAttribute : ValidationAttribute 
{ 
    public override bool IsValid(object value) 
    { 
     return value != null && (DateTime)value > DateTime.Now && (DateTime)value < DateTime.Now.AddMonths(1); 
    } 
} 

А в модели что-то вроде:

[FutureDateAtribute] 
public DateTime mydateTime { get; set; } 
Смежные вопросы