我正在浏览AccountController类(默认值)。我注意到 ModelState 在许多地方都使用了“ _FORM ”。对于,isntance:
if (String.IsNullOrEmpty(userName))
{
ModelState.AddModelError("username", "You must specify a username.");
}
if (!String.Equals(password, confirmPassword, StringComparison.Ordinal))
{
ModelState.AddModelError("_FORM", "The new password and confirmation password do not match.");
}
很容易说出用户名的含义(就像电子邮件,密码和确认密码一样)。但是什么是“_FORM”?它有特殊意义吗?我没看到它的定义。
感谢帮助
答案 0 :(得分:3)
如果你没有带name="_FORM"
的输入元素,这可以用来添加一个模型错误,该错误将显示在错误摘要中,但没有输入显示为红色。
答案 1 :(得分:0)
如上所述,它在MVC 2中具有指定验证摘要错误的方式。
但是在MVC 3及更高版本中,您需要将一个空字符串作为关键参数传递给ModelState.AddModelError()。传递“_FORM”表示验证摘要错误似乎不再起作用。See this question for more details。