質問hereは似ていますが、ドメインオブジェクトの継承はありません。私のフィールドと検証タグは次の順番になっていますが、MustBe18エラーとRequiredエラーだけが表示されます。このモデルには、さらに多くのバリデーションを含むいくつかのフィールドがありますが、コード内のValidationAttributeの順序は重要ではないようです。リンク先のjfarの答えはヘルパーをビルドできると示唆しているようですが、どうですか?注文をどのように管理できますか?DataAnnotation ValidationAttributeの順序はどのように指定できますか?
[Required(ErrorMessage = "This field is required")]
[DisplayName("Date of Birth")]
[MustBeValidDate(ErrorMessage = "Must be a valid date")]
[MustBe18(ErrorMessage = "You must be 18 years old")]
[MustNotBeOver100(ErrorMessage = "This caller is too old")]
public string dob { get; set; }
MustBe18:ValidationAttribute(オーバーロードさIsValidの方法)
try
{
DateTime dob = new DateTime(DateTime.Now.AddYears(-18).Year, DateTime.Now.Month, DateTime.Now.Day);
return DateTime.Compare(DateTime.Parse(value.ToString()), dob) <= 0;
}
catch
{
return false;
}