MVC 5是否有默认验证,我可以设置日期的最小值和最大值?
在我的模型中,我想要日期验证
public class MyClass
{
[Required(ErrorMessage="Start date and time cannot be empty")]
//validate:Must be greater than current date
[DataType(DataType.DateTime)]
public DateTime StartDateTime { get; set; }
[Required(ErrorMessage="End date and time cannot be empty")]
//validate:must be greater than StartDate
[DataType(DataType.DateTime)]
public DateTime EndDateTime { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
Ps:根据这个Asp.Net网站,使用RangeDateTime验证器时出现问题,不推荐使用.
注意:jQuery验证不适用于Range属性和DateTime.例如,以下代码将始终显示客户端验证错误,即使日期在指定范围内:
[Range(typeof(DateTime), "1/1/1966", "1/1/2020")]您需要禁用jQuery日期验证才能将Range属性与DateTime一起使用.在模型中编译硬日期通常不是一个好习惯,因此不鼓励使用Range属性和DateTime.
我也知道有一些像Fluent Validation和Foolproof这样的Nuget软件包可以验证和检查一个日期是否比其他日期更大,但我想知道默认情况下是否有东西可以检查日期的最小值和最大值.
从我在MVC 5.1中的Whats new中看到的,有支持MaxLength和MinLength验证.