我有這個在我的模型jQuery驗證MVC3 asp.net不顯示驗證味精
[Required]
public string AppName { get; set; }
我的頁面佈局上,我有
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.24.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"></script>
my view has this inside BeginForm
@Html.EditorFor(model => model.App.AppName, new { size = 35 })
@Html.ValidationMessageFor(model => model.App.AppName)
<input type="submit" value="Start Business" class="demo-button ui-state-default ui-corner-all" />
this is how its rendered
<input id="App_AppName" class="text-box single-line watermark" type="text" value="" name="App.AppName" data-val-required="The AppName field is required." data-val="true">
<span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="App.AppName"></span>
時,我打我提交沒有得到任何確認說AppName是必需的,但它只是以空字段回傳到服務器。
我添加了幾個字段作爲與validationMsgFor隱藏,這是工作。
所以我有什麼是
public class AppContent
{
public App App { get; set; }
public bool CreateModal { get; set; }
public AppContent()
{
}
}
和我的看法是類型AppContent的。
我注意到的一件事是當我只是直接添加與App對象的視圖AppName是根據需要檢測。但是當我使用具有AppName類型的AppCOntent執行此操作時,不會顯示驗證,但對於其他非字符串的隱藏字段有效。
@JustinHolmes,請嘗試使用TextboxFor代替。這有什麼不同嗎? – 2013-02-11 04:28:36
你錯過了'jquery.js'文件。你需要三個文件進行不顯眼的驗證,才能使用jQuery(〜/ Scripts/jquery-1.4.1.js),jQuery Validate(〜/ Scripts/jquery.validate.js)和MVC插件進行不顯眼的客戶端驗證(使用jQuery Validate 〜/ Scripts/jquery.validate.unobtrusive.js)' – 2013-02-11 05:09:36
我確實有jquery.js參考,驗證適用於隱藏文本框,不適用於可見的此文本框。 – 2013-02-11 14:48:03