设置密码/确认密码没有[比较]

本文关键字:密码 比较 确认 设置 | 更新日期: 2023-09-27 18:16:52

我使用Asp.net MVC创建密码和确认密码字段。我目前正在使用远程属性来检查密码和确认密码是否相同,但是远程只会在应用于更改的框中调用函数。

我回顾了去年以前的文章,发现最常见的建议是使用compare属性,但是现在已经弃用了。

我认为有一个预先构建的解决方案来解决这个问题。

这是来自模型

    [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);
      }

设置密码/确认密码没有[比较]

Compare是不可逆的,你仍然可以使用[Compare("Property name to Compare with")]…它在System.ComponentModel中。DataAnnotations"名称空间。