一个属性,其中包含mvc c中的模型错误列表

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)

如何获取密码中存储的所有错误消息?

Mik*_*oud 5

您只需要摘要而不是消息:

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