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

本文关键字:视图 返回 消息 错误 一条 何验证 验证 数据 | 更新日期: 2023-09-27 18:35:43

我正在使用带有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;}

日字段:

    [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; } 

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

你可能想看看这个问题。他们正在寻求验证分为三个字段的日期时间。