Bootstrap Modal 中的 jQuery 验证不起作用

标签 jquery twitter-bootstrap twitter-bootstrap-3 jquery-validate

将 jQuery 验证应用于模态 Bootstrap 没有任何效果,检查了所有包含的库及其顺序,发现它们是正确的。

  • Bootstrap :版本 3.3.1
  • jQuery:版本 1.11.1
  • jQuery-validate :版本1.13.1

头代码:

<head>
    <title>Titulo</title>

    <link rel="stylesheet" type="text/css" href="../CSS/StyleSheet.css"/>
    <script type="text/javascript" src="../Bootstrap/js/jquery-1.11.1.min.js"></script>
    <script type="text/javascript" src="../Bootstrap/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="../datepicker/js/bootstrap-datepicker.js"></script>
    <script type="text/javascript" src="../Jquery-Validate/jquery.validate.min.js"></script>
    <script type="text/javascript" src="../Javascript/ActionJS.js"></script>

    <link rel="stylesheet" type="text/css" href="../Bootstrap/css/bootstrap.min.css" media="screen" />
    <link rel="stylesheet" type="text/css" href="../datepicker/css/datepicker.css" media="screen" />

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
</head>

模态代码(无需 AJAX 加载 HTML)

<div class="modal fade" id="login_modal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
        <div class="modal-dialog modal-lg">
            <div class="modal-content">
                <form class="form-horizontal" id="login-form" action="../PHP/ValidateForm.php" method="get">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title span7 text-center" id="myModalLabel"><span class="title">Login</span></h4>
                    </div>
                    <div class="modal-body">
                        <div class="col-md-6">
                            <div class="form-group">
                                <label for="input_email" class="control-label col-md-3">Your Email (login)</label>
                                <div class="col-md-9">
                                    <input type="email" class="form-control" id="email" name="email" placeholder="Email">
                                </div>
                            </div>
                            <div class="form-group">
                                <label for="input_password" class="control-label col-md-3">Password</label>
                                <div class="col-md-9">
                                    <input type="password" class="form-control" id="pass" name="pass" placeholder="Password">
                                </div>
                            </div>
                            <div class="checkbox text-center">
                                <label><input type="checkbox" id="remember_me" name="remember_me">Remember me on this computer</label>
                            </div>
                        </div>
                        <div class="form-group text-center">
                            <div class="col-md-6 col-md-offset-3">
                                <button type="reset" class="btn btn-danger">Reset</button>
                            </div>
                        </div>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                        <button type="submit" class="btn btn-primary" name="login_form_submit" value="Login">Login</button>
                    </div>
                </form>
            </div>
        </div>
    </div>

将标签更改为模态 -body 提交按钮不起作用,在此视频中检查将是它的正确位置。

ActionJS 代码(验证文件)

$(document).ready(function(){
     $("#login-form").validate({
    rules:{
        name:{
            required:true,
            minLength:8
        },
        pass:"required"
    },
    messages:{
        name:{
            required:"Please provide your Login",
            minLength:"Your Login must be at least 8 characters"
        },
        pass:"Please provide your password"
    }
});

});

最佳答案

这里的代码有两个问题...

rules:{
    name:{  // <- no such element
        required:true,
        minLength:8  // <- no such rule
    },
    pass:"required"
},
  1. 您没有 name="name" 这样的输入元素。也许您指的是电子邮件

  2. 不存在名为 minLength 的规则。我想你的意思是 minlength

注意:您在messages 选项中也遇到了与上述相同的两个问题。

工作演示:http://jsfiddle.net/nk3j4mtu/

关于Bootstrap Modal 中的 jQuery 验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27780533/

相关文章:

html - 悬停状态不适用于移动设备

javascript - 对 Angular 滚动 Javascript

css - 使 Wordpress 导航栏与 Bootstrap 一起工作

html - Bootstrap 3 水平对齐文本和 div 中间的跨度

twitter-bootstrap - DURANDAL - 将参数传递给合成和模态

html - 如何使用 twitter bootstrap 制作带边框的响应列高度?

html - CSS 隐藏与具有绝对位置的 div 重叠的 div 的内容

Javascript 刷新页面,我也不知道为什么

javascript - 纯JS中的函数回调

javascript - 使用表单验证更改 DIV 边框颜色