生年月日を検証するために、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; }