0

该模型 :

public class ChangePasswordModel
{
    //User profile key
    public string UserName { get; set; }

    [Required(ErrorMessage = " Please Enter Current Password ")]
    public string OldPassword { get; set; }

    [Required(ErrorMessage = " Please Enter a New Password ")]
    [StringLength(20, MinimumLength = 6, ErrorMessage = "The {0} must be at least {2} and no longer then {1} characters long.")]
    public string NewPassword { get; set; }

    [Required(ErrorMessage = " Please Re-enter a New Password ")]
    [MustBeValidator(MustBeValidator.Condition.EqualTo, "newpassword", ErrorMessage = "Please, confirm password")]
    public string ReNewPassword { get; set; } 
}

对安全 apicontroller 的 ajax 调用:

    [System.Web.Mvc.HttpPost]
    public ActionResult ChangePassword(ChangePasswordModel change)
    {

        if (!ModelState.IsValid)
        {

问题是,即使“ReNewPassword”的“NewPassword”差异我得到 ModelState.IsValid = true

4

1 回答 1

1

我不知道它MustBeValidator是什么,但您可以尝试在 ASP.NET MVC 3 中使用标准属性:

[Required(ErrorMessage = " Please Re-enter a New Password ")]
[Compare("NewPassword", ErrorMessage = "Please, confirm password")]
public string ReNewPassword { get; set; } 
于 2013-02-08T11:41:27.340 回答