use*_*542 2 c# model-view-controller asp.net-mvc
在具有列表(最多3个)的控制器中,与密码检查相关的错误消息将存储在名为Password的属性中.
IEnumerable<PasswordMessages> passwordMessage = LoanTrackerServices.CheckPasswordRequirements(model.NewPassword, model.EmailId);
if ( passwordMessage.Count() > 0 )
{
foreach (PasswordMessages pm in passwordMessage)
{
ModelState.AddModelError("Password",( pm.Message));
}
LoginPageModel loginModel = new LoginPageModel();
return View("Index", new HomePageModel() { Register = model, Login = loginModel });
}
Run Code Online (Sandbox Code Playgroud)
但在我看来,我无法弄清楚如何获取所有这些(最多3个)错误消息.现在只显示列表中的第一条消息.这是我的代码
for (int i = 0; i < ViewData.ModelState["Password"].Errors.Count; i++)
{
@Html.ValidationMessage("Password")
}
Run Code Online (Sandbox Code Playgroud)
如何获取密码中存储的所有错误消息?
您只需要摘要而不是消息:
@Html.ValidationSummary("Password")
Run Code Online (Sandbox Code Playgroud)
所以摆脱这个:
for (int i = 0; i < ViewData.ModelState["Password"].Errors.Count; i++)
{
@Html.ValidationMessage("Password")
}
Run Code Online (Sandbox Code Playgroud)