ViewModels では、いくつかの DataAnnotations を使用してフォーム データを検証します。通常、フィールドごとに 2 ~ 3 個の注釈があります。
たとえば、電子メール アドレスのフィールドは次のようになります。
[Required(ErrorMessage = "Please enter an email address.")]
[Email(ErrorMessage = "That is not a valid email address.")] // Custom
public string Email { get; set; }
誰かがフォームを送信すると、両方のエラーが検証の概要に表示されます。Required 検証が失敗した場合に Email 検証が実行されないように、検証注釈を実行する順序を指定する簡単な方法はありますか?
これが不可能な場合、これは通常どのように処理されますか? 複数のアノテーションを持つフィールドに対してカスタムバリデータを作成する必要がありますか? 単一のアノテーションが複数のタイプの検証を処理する場合、それはアノテーションを使用する適切な方法でしょうか?
(おそらく Required アノテーションをカスタム Email アノテーションに組み合わせることができることも承知していますが、これは単なる例です)。