JQuery验证插件:$(“#”)。validate()不是函数

时间:2010-06-18 23:31:22

标签: jquery jquery-validate

我使用jquery-1.4.2库和jquery.validate.js插件来验证一个非常简单的表单。在head部分,我有以下代码:

<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>

在body部分中,我定义了表单和输入字段以接受权重值。正文的代码如下:

<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-validation插件与jquery-1.4.2兼容。

关于我做错的任何想法?

谢谢, 尼基尔。

2 个答案:

答案 0 :(得分:0)

设置验证时,你没有完全正确。尝试:

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

然后使用:

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

您想要触发验证的地方。

答案 1 :(得分:0)

有同样的问题;经过验证的HTML&amp;发现我错过了name="email"的{​​{1}}属性。始终确认HTML 正面您的HTML有效。添加后,<input />完美运行。