代码之家  ›  专栏  ›  技术社区  ›  Alex White

英国日期时间字段的数据注释范围

  •  3
  • Alex White  · 技术社区  · 16 年前

    http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.rangeattribute.aspx ),以下应该做的工作

    [Range(typeof(DateTime), "1/2/2004", "3/4/2004",
        ErrorMessage = "Value for {0} must be between {1} and {2}")]
    

    我使用MVC2中的dataannotation,并使用MicrosoftAjax框架进行客户端验证。

    有什么建议吗?

    谢谢

    2 回复  |  直到 12 年前
        1
  •  2
  •   Alex White    12 年前

    好吧,几年过去了,我用MVC4重新讨论了这个问题,我可以告诉你,它显然已经解决了。

        [Required]
        [DataType(DataType.Date)]
        [Range(typeof(DateTime), "1/2/2004", "3/4/2004", ErrorMessage = "Value for {0} must be between {1} and {2}")]
        public DateTime BlogDate { get; set; }
    

    现在,在英国的数据系统下,验证非常有效,不允许日期为2004年2月1日,允许日期为2004年4月3日或2004年3月26日。

    我使用的模板利用了codefirstef4,但是我没有任何理由怀疑它通常没有被修复,因为javascript也正常工作。

        2
  •  1
  •   moi_meme    16 年前

    据我所知,RangeAttribute只能在客户端验证number,您必须编写一个定制的javascript验证器才能工作。。。

    退房 http://haacked.com/archive/2009/11/19/aspnetmvc2-custom-validation.aspx