jQuery验证:没有准备好jQuery

时间:2013-06-19 10:23:59

标签: jquery jquery-validate

jQuery验证器无法使用$ .ready

以下代码位于文档正文的末尾。

<script src="lib/jquery.js"></script>
<script src="lib/validate/jquery.validate.js"></script>
<script src="lib/validate/additional-methods.min.js"></script>

$().ready(function(){
    $( "#frm_register" ).validate(
    {
        rules: {
            contactpr: {
                required: true,
                number: true
            },
            email: {
                required: true,
                email: true
            },
            cnic: {
                required: true,
                number: true
            }
        },
        messages: {
            default: "Left empty"
        }
    });
});

当我删除$()。ready语句时,它工作正常,为什么?

我正准备确保在验证之前加载所有内容。

2 个答案:

答案 0 :(得分:0)

您已使用

$().ready(function(){
    // Your Validation Code
});

应该是:

$(document).ready(function() {
// Your Validation Code
});

答案 1 :(得分:0)

正如其他答案中已解释的那样,您的文档ready事件处理程序格式不正确。当我使用$(document).ready(function(){})

时,一切似乎都正常

请参阅:http://jsfiddle.net/gep8U/

但是,您还定义了此选项:

    messages: {
        default: "Left empty"
    }

messages选项仅包含字段name和规则(或单独的字段name)以及覆盖消息。由于没有字段name或名为default的规则,因此此选项对您无效。

请改为尝试:

    messages: {
        contactpr: {
             required: "Left empty"
        },
        email: {
             required: "Left empty"
        },
        cnic: {
             required: "Left empty"
        }
    }

工作演示:http://jsfiddle.net/47C7T/