1

我已经阅读了我可以在这里找到的关于这个主题的所有内容。我认为这个问题很简单,但我找不到。我会很高兴让一些休息的眼睛快速浏览一下。我在这里做错了什么?这个简单的表单只是提交而不验证。我的问题形式更大,但我发现我应该先简单测试一下。我什至在 jsfiddle 上进行了测试并且不理解那里的响应http://jsfiddle.net/asle/fmYLP/

<!doctype html>
<html lang="us">
<head>
    <meta charset="utf-8">
    <title>jQuery Validate Example Page</title>
    <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.min.js"></script>
    <script type="text/javascript">
    jQuery().ready(function(){
        $("#testform").validate();
    })
    </script>
</head>
<body>
<form id="testform" name="testform" method="post">Name:
    <input name="testname" type="text" />
    <br />Adress:
    <input name="testadress" type="text" />
    <br />
    <input type="submit" value="submit">
    <br />
</form>
</body>
</html>
4

2 回答 2

3

根据文档,您的方式“不推荐”:jQuery().ready(function(){...})

而是使用jQuery(document).ready(function(){...})

或者jQuery(function(){...})


引用操作:

这个简单的表单只是提交而不验证。

因为你没有声明任何验证规则,所以无论你输入什么样的数据,或者根本没有数据,表单总是有效的。

引用 OP 的评论:

我试图在输入中添加“必需”并且它有效。我是否总是必须在每个字段中添加“必需”?演示中并非如此。 <input required name="testname" type="text" />

我不确定您在谈论哪些演示,但是您必须在某个地方声明验证规则,否则,您如何期望插件知道哪些字段是required或应用另一种规则?

这里有三个有效的例子......

通过内联attribute(HTML 5):

<input required="required" name="testname" type="text" />

或通过class

<input class="required" name="testname" type="text" />

通过.validate()jQuery

$(document).ready(function(){

    $("#testform").validate({
        rules: {
            testname: {
                required: true,
                // another rule
            },
            testaddress: {
                required: true,
                digits: true
            }
        }
    });

});

工作演示:http: //jsfiddle.net/4HSYz/


还有一些方法可用于动态操作规则。

方法_rules('add')


阅读完整文档: http ://docs.jquery.com/Plugins/Validation

于 2013-04-07T14:00:28.807 回答
0

尝试

jQuery(document).ready(function() {
   $('#testform').validate();
});
于 2013-04-07T11:28:58.727 回答