2014-01-30 66 views
1

我是MVC 4中的新成員,我正努力爲所需字段顯示錯誤消息。請幫助如何顯示註釋MVC 4

這是在我的模型。

[Required(ErrorMessage="Required Field")] 
public string Username { get; set; } 

[Required(ErrorMessage = "Required Field")] 
public string Password { get; set; } 

這在我看來是提前

+1

請澄清,如果您希望始終顯示驗證郵件或僅在提交表單時提交,請發佈相關的呈現HTML。 – Dai

回答

2

我想你正在服用有關客戶端驗證,因爲它看起來像你的服務器驗證應該工作

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

感謝。

您是否正在加載用於客戶端驗證的正確腳本?

@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" /> 
0

除了你需要引用jQuery驗證庫到你的頁面的客戶端驗證模型的註釋。

jquery.js 
jquery.validate.js 
jquery.validate.unobtrusive.js 
3

請您是否已經包括了以正確的順序不引人注目的驗證所需的JavaScript文件,這將使驗證在客戶端成功地發生。

jquery.js 
jquery.validate.min.js 
jquery.validate.unobtrusive.min.js 

關於你必須明確地檢查ModelState.IsValid到模型保存到數據庫的服務器端驗證。