相关疑难解决方法(0)

日期的MVC模型验证

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 ValidationFoolproof这样的Nuget软件包可以验证和检查一个日期是否比其他日期更大,但我想知道默认情况下是否有东西可以检查日期的最小值和最大值.

从我在MVC 5.1中的Whats new中看到的,有支持MaxLengthMinLength验证.

c# asp.net-mvc model-validation asp.net-mvc-5

18
推荐指数
2
解决办法
3万
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-5 ×1

c# ×1

model-validation ×1