我是MVC 4中的新手,我正在努力显示所需字段的错误消息。请帮忙
这是我的模特。
[Required(ErrorMessage="Required Field")]
public string Username { get; set; }
[Required(ErrorMessage = "Required Field")]
public string Password { get; set; }
这是我认为的
@using (Html.BeginForm("AddUser","User", FormMethod.Post))
{
@Html.DisplayNameFor(l => l.Username)
@Html.TextBoxFor(c => c.Username)
@Html.ValidationMessageFor(c => c.Username);
<br />
@Html.LabelFor(l => l.Password)
@Html.TextBoxFor(c => c.Password)
@Html.ValidationMessageFor(c => c.Password)
}
提前致谢
答案 0 :(得分:3)
请您是否以正确的顺序包含必要的javascript文件以进行不显眼的验证,这将使验证在客户端成功完成。
jquery.js
jquery.validate.min.js
jquery.validate.unobtrusive.min.js
关于服务器端验证,您必须通过显式检查ModelState.IsValid
将模型保存到数据库。
答案 1 :(得分:2)
我想您正在进行客户端验证,因为看起来您的服务器验证应该有效。
您是否正在加载正确的客户端验证脚本?
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/Scripts/jquery.validate.min.js")
@Scripts.Render("~/Scripts/jquery.validate.unobtrusive.min.js")
还要确保这些设置在您的web.config
中<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
答案 2 :(得分:0)
除了模型注释之外,还需要将jquery验证库引用到页面以进行客户端验证。
jquery.js
jquery.validate.js
jquery.validate.unobtrusive.js