如何验证多个数据注释并在视图中返回一条错误消息

时间:2012-05-30 20:14:24

标签: c# validation asp.net-mvc-2 data-annotations

我正在使用MVC2的数据注释来验证出生日期。出生日期有3个不同的领域。 (月,日和年)(它们必须是三个单独的字段)

现在我为每个字段都有单独的数据注释。如何进行验证以便验证所有三个字段并在我的视图中显示一条错误消息。我现在的设置现在为每个字段创建一条错误消息。

如果其中任何一个字段引发错误,我想显示一般的错误消息,如"Date of Birth invalid"

月份字段:

        [Required]
        [DisplayName("Month")]
        public IEnumerable<string> Months 
        { 
            get 
            {
                if (_Months == null)
                {
                    List<string> months = new List<string>();
                    months.Add("-- Select Month --");
                    months.AddRange(DateTimeFormatInfo.CurrentInfo.MonthNames.Select(Month => Month).ToList());
                    months.RemoveAt(months.Count - 1);
                    _Months = months;
                }
                return _Months;
            }
            set { _Months = value; }
        }

        private IEnumerable<string> _Months;

        public string SelectedMonth {get; set;}

Day Field:

    [Required]
    [DisplayName("Day")]
    [Range(1,31, ErrorMessage = "Not a valid day")]
    public int? Day { get; set; }

年度字段:

    [Required]
    [DisplayName("Year")]
    [Range(1900,9999, ErrorMessage = "Not a valid year")]
    [ValidateBirthYear]
    public int? Year { get; set; } 

1 个答案:

答案 0 :(得分:0)

您可能想查看此question。他们希望验证分为三个字段的日期时间。