如何显示注释MVC 4

时间:2014-01-30 07:40:06

标签: c# .net asp.net-mvc asp.net-mvc-4

我是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)
}

提前致谢

3 个答案:

答案 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