【问题标题】:jQuery validate problems - not working - form just submitsjQuery 验证问题 - 不工作 - 表单只是提交
【发布时间】:2013-03-29 12:20:49
【问题描述】:

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

【问题讨论】:

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

标签: jquery jquery-plugins jquery-validate


【解决方案1】:

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

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

jQuery(function(){...})


引用 OP:

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

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

引用 OP 的评论:

我尝试在输入中添加“必需”并且它有效。我总是有吗 在每个字段中添加“必需”?演示中并非如此。 &lt;input required name="testname" type="text" /&gt;

我不确定你说的是哪个demo,但是你必须在某个地方声明验证规则,否则你怎么指望插件知道哪些字段是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

【讨论】:

  • 我在谈论这些演示:jquery.bassistance.de/validate/demo 但我现在明白了。输入字段中缺少“必需”或函数中的其他规则。我有其他可以验证的表格,但我有他们的规则。感谢您在星期天清理模糊的思绪。我不会再犯这个错误了! - :-)
  • @Asle,不客气。如果我的回答解决了您的问题,请点击绿色复选标记“接受”。谢谢。
【解决方案2】:

试试

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 2018-04-07
    • 1970-01-01
    • 2017-04-28
    相关资源
    最近更新 更多