【问题标题】:jQuery: validate rules not working as expectedjQuery:验证规则未按预期工作
【发布时间】:2014-07-15 14:35:05
【问题描述】:
<script type="text/javascript">
    $(document).ready(function () {
        $("#loginForm").validate({
            rules: {
                email: {
                    required: true,
                    minlength: 10
                },
                passwd: {
                    required: true,
                    minlength: 8
                }
            },
            messages: {
                email: {
                    required: "Please enter your email",
                    minlength: "Minlength has to be 10"
                },
                passwd: {
                    required: "Please enter your email",
                    minlength: "Minlength has to be 8"
                }
            },
            submitHandler: function (form) {
                alert('valid form submit');
            }
        });
    })
</script>

我在 HTML 头部有这个_

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.12.0/jquery.validate.min.js"></script>

上面的jQuery在结束body标签之前。

当我使用http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.jshttp://ajax.aspnetcdn.com/ajax/jquery.validate/1.12.0/jquery.validate.min.js.

但在我的浏览器上,它总是提交处理程序。 http://jsfiddle.net/4937t/

非常感谢您的宝贵时间。

【问题讨论】:

  • 它在这里工作jsfiddle.net/4937t/8
  • 正是我提到的问题。它适用于 jsfildde,但​​同样的事情总是在我的代码中提交处理程序。我想知道我是否在代码中正确使用了脚本标签。感谢观看
  • 尝试删除那些 http: 在 src 中只需放入 src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js" 试试
  • 谢谢。但仍然是同样的问题。也没有控制台错误
  • 好吧,告诉我更多,你是把 $document.ready 函数放在脚本标签之后还是脚本标签之前?它也可以在 Firefox 和其他所有浏览器中运行吗?是只有chrome还是其他浏览器有问题?

标签: javascript jquery validation jquery-plugins


【解决方案1】:

我不确定您是如何在 html 文档中包含脚本的,但让我向您展示工作示例。它适用于我的 chrome。我猜你脚本的位置放错了位置。希望这有效

<!doctype html>
<html>
<body>
   <form id="loginForm">
     <input name="email" type="text"/><br/>
     <input name="passwd" type="password"/><br/>
     <input type="submit" />
   </form>
   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
   <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.12.0/jquery.validate.min.js"></script>
   <script>
    $(document).ready(function () {
        $("#loginForm").validate({
            rules: {
                email: {
                    required: true,
                    minlength: 10
                },
                passwd: {
                    required: true,
                    minlength: 8
                }
            },
            messages: {
                email: {
                    required: "Please enter your email",
                    minlength: "Minlength has to be 10"
                },
                passwd: {
                    required: "Please enter your password",
                    minlength: "Minlength has to be 8"
                }
            },

            submitHandler: function (form) {
                alert('valid form submit');
            }
        });
    });
  </script>
  </body>
  </html>

【讨论】:

  • 我仍然看到同样的问题。我假设在您的回答中,您只是将脚本标签从头到尾移动了。
  • 我不认为它适用于我的每个浏览器。将此 html 复制到一个新文件中并保存并运行它。如果它不起作用,请进一步告诉我:) 如果您向我们展示更多信息,我们可以帮助您并帮助您找到错误。
  • 发现了问题。是我的错。显然,表单标签没有被写入,并且它们没有按预期使用表格
猜你喜欢
  • 2020-01-05
  • 2018-04-02
  • 1970-01-01
  • 2011-12-06
  • 1970-01-01
  • 2018-08-12
  • 2013-07-24
  • 2013-08-11
  • 2019-03-15
相关资源
最近更新 更多