jQuery:验证规则未按预期工作

Posted

技术标签:

【中文标题】jQuery:验证规则未按预期工作【英文标题】:jQuery: validate rules not working as expected 【发布时间】: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.js 和 http://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还是其他浏览器有问题? 【参考方案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 复制到一个新文件中并保存并运行它。如果它不起作用,请进一步告诉我:) 如果您向我们展示更多信息,我们可以帮助您并帮助您找到错误。 发现了问题。是我的错。显然,表单标签没有被写入,并且它们没有按预期使用表格

以上是关于jQuery:验证规则未按预期工作的主要内容,如果未能解决你的问题,请参考以下文章

CSS 规则未按预期应用

Apache Rewrite 规则未按预期工作

Android:OnTextChanged 电子邮件验证未按预期工作

身份验证状态持久性未按预期工作 ReactJS

Azure NSG 未按预期工作

以角度形式为文件上传设置自定义验证未按预期工作