Плагин проверки JQuery: $ ("#"). Validate () не является функцией - PullRequest
0 голосов
/ 19 июня 2010

Я использую библиотеку jquery-1.4.2 и плагин jquery.validate.js для проверки очень простой формы. В разделе заголовка у меня есть следующий код:

<script type="text/javascript" src="scripts/jquery-1.4.2.js"></script>
<script type="text/javascript" src="scripts/jquery.validate.js"></script>
<link rel="stylesheet" type="text/css" href="css/ui-lightness/jquery-ui-1.8.2.custom.css"></link>
<script type="text/javascript" src="scripts/jquery-ui-1.8.2.custom.min.js"></script>
<script type="text/javascript">
     $(document).ready(function(){
    // date pickers
    $('#birthdate').datepicker();
    $("#deliverydate").datepicker();

    //apply styles to buttons 
    $('input:button').button();

    // data validation
    $("#createAnimalForm").validate({
        debug: true,
        rules: {
            weight: {
                required: true
            }
        },
        messages: {
            weight: {
                     required: "Please enter a numeric value for weight."
                    }
        }
    });

});
function createClicked(){
    $("#createAnimalForm").validate().form();
}


</script>

В разделе тела я определил форму и поле ввода, чтобы принять значение веса. Код из тела выглядит следующим образом:

<form id="createAnimalForm">
<table cellpadding="5px">
<tr>
    <td>Weight:</td>
    <td><input type="text" name="weight" id="weight"></input>&nbsp;gms</td>
</tr>
<tr>
    <td></td>
    <td align="left"><input type="button" onclick="createClicked();" id="createButton" name="createButton" value="Create Animal"></td>
</tr>
</table>
</form>

Когда я загружаю страницу в Firefox, я получаю следующую ошибку в Firebug:

$("#createAnimalForm").validate is not a function

Я немного искал в сети, но не смог найти никакого решения для этого. Я думаю, что у меня есть библиотека jquery, расположенная в правильном месте, и похоже, что плагин проверки jquery совместим с jquery-1.4.2.

Есть идеи, что я делаю не так?

Спасибо, Нихилу.

Ответы [ 2 ]

0 голосов
/ 25 февраля 2011

была такая же проблема;проверил HTML и обнаружил, что мне не хватает атрибута name="email" из <input />.Всегда проверяйте HTML, чтобы он был положительным , ваш HTML действителен.После того, как я его добавил, validate() работал отлично.

0 голосов
/ 19 июня 2010

Вы не совсем правильно поняли, когда настраиваете validate. Попробуйте:

    // data validation
$("#createAnimalForm").validate({
    debug: true,
    rules: {
        weight: {
            required: true
        }
    },
    messages: {
            weight: {
              required: "your message here"
            }
    }
});

Тогда используйте:

if ($('#createAnimalForm').validate().form()) { ... }

Везде, где вы хотите запустить проверку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...