2013-02-11 75 views
0

我有這個在我的模型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執行此操作時,不會顯示驗證,但對於其他非字符串的隱藏字段有效。

+0

@JustinHolmes,請嘗試使用TextboxFor代替。這有什麼不同嗎? – 2013-02-11 04:28:36

+0

你錯過了'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

+0

我確實有jquery.js參考,驗證適用於隱藏文本框,不適用於可見的此文本框。 – 2013-02-11 14:48:03

回答

0

,這是因爲水印我有,我不得不用佔位符代替。

0

您必須在您的web.config中啓用客戶端驗證。

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

我有我的web.config – 2013-02-11 02:12:38

0

你必須把這個腳本

<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> 
+0

我也有這個 – 2013-02-11 14:32:16