如何设置年份的范围

时间:2018-05-25 11:27:57

标签: asp.net asp.net-mvc frontend

@Html.TextBoxFor(m => m.StartDate, 
                 "{0:yyyy-MM-dd}", 
                 new { @class = "form-control", 
                       id = startDateId, 
                       type = "date",
                       @readonly = "readonly" })        

<label class="error">@Html.ValidationMessageFor(m => m.StartDate)</label>

我想要验证1990 - 2020年。怎么做?

1 个答案:

答案 0 :(得分:1)

您必须创建CustomAttribue。正如您所拥有的[必需],tou可以创建您自己的(自定义)。

有关详细信息,请参阅文档:Writing Custom Attributes

对于范围日期控件,您将会这样:

public class MyRangeDatesAttribute : RangeAttribute
{
  public MyRangeDatesAttribute ()
    : base(typeof(DateTime), 
            DateTime.Now.AddYears(-6).ToShortDateString(),
            DateTime.Now.ToShortDateString()) 
  { } 
}

如何使用它:

[MyRangeDates]
public DateTime StartDate{ get; set; }

另一个解决方案是使用deafult Range Attribue:

[Range(typeof(DateTime), "01/01/1990", "01/01/2020", ErrorMessage="Your error message!")]