如果我在BirthDate
属性之前的模型中有此代码,如何允许用户只输入旧日期?
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public System.DateTime BirthDate { get; set; }
这可以在不使用JavaScript的情况下实现吗?如果是,怎么样?
答案 0 :(得分:0)
您应该将RangeAttribute
扩展为装饰DateTime
模型字段。
您可以创建一个新的验证属性:BirthDateAttribute
public class BirthDateAttribute : RangeAttribute {
public BirthDateAttribute()
: base(
typeof(DateTime),
DateTime.Now.AddYears(-120).ToShortDateString(),
DateTime.Now.AddDays(-1)ToShortDateString()
) { }
}
然后,您可以应用它来装饰您的DateTime属性:
[BirthDateAttribute]
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public System.DateTime BirthDate { get; set; }