2014-10-05 43 views
0

我建立一個簡單的Web表單的Web應用程序,我想用bootstrap validator plugin進行驗證。我不是一個很大的jQuery粉絲,所以我使用數據註釋。引導驗證扔「BootstrapValidator的JavaScript需要jQuery的」

我列入

<include path="~/Content/bootstrapValidator.min.css" /> 

我註冊了jQuery和BundleConfig.cs

bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-2.1.1.js")); 
bundles.Add(new ScriptBundle("~/bundles/validator").Include("~/Scripts/bootstrapValidator.min.js")); 

驗證腳本,我在母版頁提供的腳本bundle.config所需的CSS文件:

<%: Scripts.Render("~/bundles/jquery") %> 
<%: Scripts.Render("~/bundles/validator") %> 

我註冊反饋圖標在主窗體中,他們總是這樣有:

<form runat="server" data-bv-feedbackicons-valid="glyphicon glyphicon-ok" data-bv-feedbackicons-invalid="glyphicon glyphicon-remove" data-bv-feedbackicons-validating="glyphicon glyphicon-refresh"> 

這是我想要驗證的表單。這是VS2013生成的登錄表單,但我已將其剝離以適應我的需要。

<div class="row"> 
    <div class="col-md-6"> 
     <table class="table table-condensed table-responsive"> 
      <tr> 
       <td class="text-right text-middle col-md-5"> 
        Username: 
       </td> 
       <td class="text-middle"> 
        <asp:TextBox runat="server" ID="Username" CssClass="form-control" data-bv-notempty="true"/> 
       </td> 
      </tr> 
      <tr> 
       <td class="text-right text-middle col-md-5"> 
        Password: 
       </td> 
       <td class="text-middle"> 
        <asp:TextBox runat="server" ID="Password" TextMode="Password" CssClass="form-control" data-bv-notempty="true"/> 
       </td> 
      </tr> 
     </table> 
    </div> 
</div> 
<asp:Button runat="server" OnClick="LogIn" Text="Log in" CssClass="btn btn-primary col-md-4 col-md-offset-1"/> 

當我點擊按鈕,沒有驗證完成,我得到服務器驗證錯誤,用戶字段爲空。由於某種原因,客戶端驗證從未發生過。

編輯: 我忘記了JavaScript代碼:

<script> 
    $(document).ready(function() { 
     $('form').bootstrapValidator(); 
    }); 
</script> 

端的問題,將這項工作如果我把在母版頁的代碼,或做我必須把這個所有我想要驗證的頁面?

編輯:

我換了包括搞得以上爲好改變,但它仍然無法正常工作。現在,當bootstrapValidator函數被調用,這個異常得到投擲:

Uncaught TypeError: undefined is not a function 
(anonymous function) 
fire 
self.fireWith 
jQuery.extend.ready 
completed 

而且還沒有客戶端驗證什麼那麼...

+0

首先包含JQuery嗎? 如果不是,你應該先包含它然後bootstrapValidator js。 – Arkni 2014-10-05 20:12:54

+0

我做了更改,但仍然沒有運氣,我更新了問題 – GregoryHouseMD 2014-10-06 09:42:30

+0

您必須調試代碼以查看哪條線引發此異常。 – Arkni 2014-10-06 13:07:42

回答

0

讓我指出,一定要包括jQuery的,但要確保你可以在需要它的功能之前加入它。在包含jQuery之前,您可以使用腳本包在頁面上包含驗證器。這會使它失敗。試試做:

<%: Scripts.Render("~/bundles/jquery") %> 
<%: Scripts.Render("~/bundles/validator") %> 

包含庫時,順序總是很重要。總是首先包含jQuery,然後是任何使用它的庫。

+0

我剛剛添加了一個編輯問題,它解決了異常,但它仍然無效 – GregoryHouseMD 2014-10-06 09:36:03