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)
        {

問題は、「NewPassword」が「ReNewPassword」と異なる場合でも、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 に答える