jQuery验证问题 - 不工作 - 表单只是提交

时间:2013-04-07 11:23:34

标签: jquery jquery-plugins jquery-validate

我已经阅读了有关此主题的所有内容。我认为问题简单易行,但我无法找到答案。我会很高兴看到一些休息的眼睛快速看一眼。我在这做错了什么?这个简单的表单只是提交而不是验证。我的问题是一个更大的形式,但我发现我应该先测试它。我甚至在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>

2 个答案:

答案 0 :(得分:4)

According to the docs,您的方式是“不推荐”:jQuery().ready(function(){...})

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

jQuery(function(){...})


引用OP:

  

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

由于您尚未声明任何验证规则,因此无论您输入何种数据或根本没有数据,表单始终有效。

引用OP的评论:

  

我尝试在输入中添加“required”,但它确实有效。我一直都有   为每个领域添加“必需”?这与演示中的情况不同。   <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" />

via .validate() in jQuery

$(document).ready(function(){

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

});

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


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

请参阅the rules('add') method


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

答案 1 :(得分:0)

尝试

jQuery(document).ready(function() {
   $('#testform').validate();
});