簡體   English   中英

MVC3項目中的jQuery驗證

[英]jQuery Validation in MVC3 Project

當我創建一個新的MVC3應用程序時,添加一個模型,向該模型添加[Required]屬性,為該模型添加一個新的編輯視圖,並添加一個@Html.ValidationMessageFor(...) ,一切正常。 如果我嘗試提交編輯表單時未填寫值,則會給我一條確認消息。

我的問題是,這在我正在使用的企業應用程序中不起作用。 這是我所做的,我想知道您是否可以想到其他我可以檢查以解決問題的方法。 我無法共享代碼,但是也許您可以從列表中看到明顯的遺漏...

  • [Required]屬性添加到模型的屬性中
  • 確保引用了jquery.validate.js和jquery.validate.unobtrusive.js
  • 在我的視圖中添加了Html.EnableClientValidation(true)Html.EnableUnobtrusiveJavaScript(true)
  • 在我的控件(這是@Html.TextBoxFor )旁邊添加了我的@Html.ValidationMessageFor(...)

問題是我可以提交表單,並且不執行任何驗證。 我收到一個服務器端錯誤,指出該實體無效,如果它通過了客戶端驗證,我將期望該錯誤。

當我檢查源代碼時,它沒有將驗證屬性呈現給我的文本框。 我希望它看起來像這樣...

<input class="text-box single-line" data-val="true" 
    data-val-required="The Property1 field is required." 
    id="Property1" name="Property1" type="text" value="" />

但是相反,它看起來更像這樣……

<input id="Reminder_Description" name="Reminder.Description" 
    style="width:300px;" type="text" value="" />

注入這些屬性的確切原因是什么?

謝謝!

我發現了問題。 我只是不知道屬性沒有通過服務層(WCF)傳遞,因此Required屬性無效。 為了解決這個問題,我們向實體程序集添加了本地引用(這在我們的體系結構中很有意義)。 謝謝。

您是否檢查過web.config中的以下內容:

<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM