2014-10-05 2 views
0

Я создаю веб-приложение простого веб-формы, и я хочу использовать bootstrap validator plugin для проверки. Я не большой поклонник jQuery, поэтому я использую аннотации данных.Bootstrap validator throwing 'Для загрузки JavaScript в BootstrapValidator требуется jQuery'

Я включил нужный файл CSS в bundle.config

<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")); 

И я оказанной сценарии в главной странице :

<%: 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"/> 

При нажатии на кнопку, никакой проверки не будет сделано, и я получаю ошибку сервера проверки, что поле пользователя пуст. По какой-то причине проверка на стороне клиента никогда не происходит.

Edit: Я забыл яваскрипта код:

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

Боковой вопрос, будет ли это работать, если я ставлю этот код в главной странице, или я должен поставить это на всех страницах, которые я хочу проверки ?

EDIT:

я обменивал включает и внесения изменений выше, а также, но он по-прежнему не работает. Теперь, когда функция bootstrapValidator называется это исключение брошено:

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

И еще не на стороне клиента проверки, что так всегда ...

+0

Включен ли JQuery? Если нет, вы должны включить его сначала, а затем bootstrapValidator js. – Arkni

+0

Я внес изменения, но все равно не повезло, я обновил вопрос – GregoryHouseMD

+0

Вам нужно отладить свой код, чтобы увидеть, какая строка выбрала это исключение. – Arkni

ответ

0

Позвольте мне не отметить, что уверен, что вы включили JQuery, но убедитесь, вы включаете его перед функциями, которые в этом нуждаются. Вы используете свой набор скриптов, чтобы включить валидатор на странице, прежде чем включить jQuery. Это приведет к сбою. Попытайтесь сделать:

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

Заказ всегда важен при включении библиотек. Всегда включайте jQuery, а затем любые библиотеки, которые его используют.

+0

Я только что добавил редактирование вопроса, он решил исключение, но все же он не работает – GregoryHouseMD

Смежные вопросы