使用DataAnnotations的ASP.NET MVC 2验证日期不起作用

时间:2010-12-17 16:25:01

标签: asp.net-mvc-2 validation date model

我在我的模型中使用以下内容进行日期控制

   [DataType(DataType.DateTime)]
   public DateTime txtDateAppCompletion { get; set; }

我也试过DataType.Date,因为我只想输入日期。

   [DataType(DataType.Date)]
   public DateTime txtDateAppCompletion { get; set; }

出于某种原因,当我运行表单并输入任何不是日期的内容时,它不会验证它,不会在服务器上或客户端上(启用客户端验证)。

任何想法为什么我遇到这个问题?怎么解决?

1 个答案:

答案 0 :(得分:2)

好的,经过一些研究后,我在微软的书中发现了这一点。

  

■注意即使[DataType]看起来也是如此   像验证属性一样   Data Annotations中的其他人,   ASP.NET MVC不会将其视为一个,   所以不要指望   [DataType(DataType.EmailAddress)]到   验证合法的电子邮件地址!   [DataType]是一个异常;即使   它继承自   System.ComponentModel.DataAnnotations.ValidationAttribute,   它的IsValid()方法是硬编码的   无论如何都返回true   财产的价值。微软有   解释说[DataType]只是   意味着作为一个提示   格式化脚手架UI中的数据......