0

Asp.net MVC を使用してパスワードを作成し、パスワード フィールドを確認しています。現在、リモート属性を使用してパスワードと確認パスワードが同じかどうかを確認していますが、適用されているボックスが変更された場合にのみリモートが関数を呼び出します。

昨年にさかのぼる以前の投稿を調べたところ、最も一般的な提案は比較属性であることがわかりましたが、現在は廃止されています。

この問題には、事前に構築されたソリューションがあると思います。

これはモデルから

    [Remote(UserController.ActionNameConstants.PasswordMatch,
       UserController.NameConst, AdditionalFields = "ConfirmPassword", 
       ErrorMessage = "The passwords do not match")]
    [MinLength(8, ErrorMessage="Minimum password length is 8")]
    [DisplayName("Password"), RequiredIf("Id == 0", 
      ErrorMessage="Password is required")]
    public string Password { get; set; }


    [DisplayName("Confirm Password"), RequiredIf("Id == 0", 
        ErrorMessage = "Confirm password is required")]
    public string ConfirmPassword { get; set; }

これはコントローラーに

    [HttpGet]
    public virtual JsonResult PasswordMatch(string password,string confirmPassword)
     {
       return this.Json(password == 
       confirmPassword,JsonRequestBehavior.AllowGet);
      }
4

1 に答える 1

1

比較は非推奨ではありません [Compare("比較するプロパティ名")] を引き続き使用できます...「System.ComponentModel.DataAnnotations」名前空間にあります。

于 2015-10-08T18:07:35.157 に答える