我的ModelState.AddModelError不显示错误。 我检查了用户名并在重复时显示错误。 当我使用断点时,我看到ModelState.AddModelError被填充,它只是没有显示错误消息。
我的代码:
控制器:
[HttpPost]
public ActionResult Register(tbl_User model)
{
if (ModelState.IsValid)
{
if (MyClass.IsUserNameDuplicate(model.username) == true)
{
this.ModelState.AddModelError("username", "the username is duplicate");
return View(model);
}
else
{
MyClass.creatUser(model.username, model.password_User, model.nam);
}
}
return View(model);
}
查看:
@Html.ValidationSummary(true)
@Html.ValidationMessageFor(model => model.username)
@Html.TextBoxFor(m => m.username, new {@class = "input", @placeholder = "*enter user name" })
答案 0 :(得分:1)
在检查AddModelError
之前,您需要致电ModelState.IsValid
。我在控制器中进行了多次自定义验证
[HttpPost]
public ActionResult Register(tbl_User model)
{
if (MyClass.IsUserNameDuplicate(model.username) == true)
{
this.ModelState.AddModelError("username", "the username is duplicate");
}
if (!ModelState.IsValid)
{
return View(model);
}
else
{
MyClass.creatUser(model.username, model.password_User, model.nam);
}
return View(model);
}