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("Property name to compare with")]...它位于“System.ComponentModel.DataAnnotations”命名空间中。

于 2015-10-08T18:07:35.157 回答