2012-05-30 2 views
0

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

답변

0

당신이 question을 확인 할 수 있습니다. 그들은 세 개의 필드로 분리 된 datetime의 유효성을 검사하려고합니다.

관련 문제