0

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 语句时它工作正常,为什么?

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

4

2 回答 2

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/

于 2013-06-19T13:53:05.207 回答
0

你用过

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

它应该是:

$(document).ready(function() {
// Your Validation Code
});
于 2013-06-19T12:51:38.617 回答