剃须刀视图中的日期选择器与限制

时间:2017-01-02 11:01:34

标签: c# razor asp.net-mvc-5

您好假设我的模型包含如下字段: (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

工作正常。

但我们假设我想将用户可以选择的日期限制为仅等于或大于实际日期的日期。 我能做到这一点的方式是什么?

2 个答案:

答案 0 :(得分:1)

试试这个 -

<script type="text/javascript">

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

答案 1 :(得分:0)

创建一个自定义属性,这里有一个例子:

2.1.0

在模型中就像是:

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