パスワードの比較検証があります-パスワードフィールドを確認し、サーバー検証を行って、パスワードが最小文字数に適合するかどうかを確認します。
意見:
@Html.PasswordFor(model => model.password)
@Html.PasswordFor(model => model.repeatPassword)
モデル:
public class Model_Clerk
{
public int clerkID { get; set; }
public string password { get; set; }
[Compare("password", ErrorMessage = "Error comparing password and password confirm values")]
public string repeatPassword { get; set; }
}
コントローラーのアクション方法:
public ActionResult SaveClerk(Model_Clerk model)
{
//Password minimum lenght
if (!string.IsNullOrEmpty(model.password) && model.password.Trim().Length < 5)
{
ModelState.AddModelError(model.password, "Password must be at least 5 characters long");
}
if (ModelState.IsValid)
{
//Save logic here...
}
else
{
return PartialView("EditClerks", model);
}
}
サーバー検証が実行されると、警告メッセージが正しく表示され、その後、比較検証は機能しなくなります。何か案が?