1

私は次のモデルを持っています

public AccountInfo {

    // loads of other property here as well.

    public string Password { get; set; }

    public string NewPassword { get; set; }

    [Compare("NewPassword", ErrorMessage = "New Passwords dont match.")]
    public string ConfirmNewPassword { get; set; }

}

クライアント側の検証メッセージを表示するためにデータ注釈を使用しています。

現在、ユーザー プロファイルの詳細の変更ページに取り組んでいます。

私がしなければならないことは、電子メール、氏名、住所などの他の詳細とともに、3つのフィールドを表示する必要があるということです

  • 現在のパスワード
  • 新しいパスワード
  • 新しいパスワードを確認

現在、これらはオプションのフィールドであり、ユーザーは入力できない場合があります。しかし、彼がそうするとき、私は3つのフィールドすべてが満たされていることを確認したい. 、そうでない場合は、データ注釈を使用して検証エラーを表示したいと思います。

何かご意見は ?

4

2 に答える 2

1

このための組み込みのデータ注釈はありません。カスタム属性を作成して検証を行うこともできますが、簡単ではありません。そのため、Jquery Validation / Javascript を使用してこれを処理することをお勧めします。

基本的には、submit イベントをオーバーライドして、そこで独自の検証ロジックを実行する必要があります。コードは次のようになります。

function SubmitToServer() { 
    if ($('#Password').length == 0 || ($('#Password').length > 0 && $('#NewPassword ').length > 1 && $(formId).valid()) {
        $(formId).submit();
    }
}
于 2012-12-03T06:59:33.853 に答える