【问题标题】:How to validate multiple data annotations and return one error message in view如何验证多个数据注释并在视图中返回一条错误消息
【发布时间】:2012-05-30 20:14:23
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    您可能想查看此question。他们正在寻求验证一个也分为三个字段的日期时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-10
      • 2014-11-15
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      相关资源
      最近更新 更多