0

生年月日を検証するために、MVC2 でデータ注釈を使用しています。生年月日には 3 つの異なるフィールドがあります。(月、日、年) (3 つの個別のフィールドである必要があります)

現在、各フィールドに個別のデータ注釈があります。3 つのフィールドすべてが検証され、ビューに 1 つのエラー メッセージが表示されるようにするにはどうすればよいですか。私が今持っているセットアップは、各フィールドのエラー メッセージを作成します。

これらのフィールドのいずれかでエラーが発生した場合は、 のような一般的なエラー メッセージを表示したいと考えています"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; } 
4

1 に答える 1

0

この質問をチェックしてみてください。彼らは、3 つのフィールドに分割された日時も検証しようとしています。

于 2012-10-18T22:05:53.430 に答える