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



我已经阅读了我能在这里找到的关于这个主题的所有内容。我认为这个问题很简单,但是我却找不出来。我很高兴有休息的眼睛能看一眼。我哪里做错了?这个简单的表单只提交而不验证。我的问题是在一个更大的形式,但我发现我应该先测试它简单。我甚至在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>

根据文档,你的方法是"不推荐":jQuery().ready(function(){...}) .

改为使用jQuery(document).ready(function(){...})

jQuery(function(){...})


引用OP:

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

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

引用OP的评论:

我试图在输入中添加"required",它可以工作。我一直都有要在每个字段中添加"必需"吗?在演示中不是这样的。<input required name="testname" type="text" />

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

这里有三个有效的例子…

By inline attribute (HTML 5):

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

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

Try

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

最新更新