【问题标题】:Bootstrap 3 JQuery Validation not workingBootstrap 3 JQuery 验证不起作用
【发布时间】:2014-01-23 04:32:30
【问题描述】:

我正在开发 Symfony2 项目并使用了 bootstrap 3.0.2。我使用 jquery 验证 1.9.0 插件进行登录验证。 我想做这样的事情Fiddle 在核心 php 中工作,但在 symfony 中它不起作用。 这是我的代码

Login.html.twig

<script src="{{asset('bundles/Loginbundle/js/script.js')}}"></script>
<script src="{{asset('bundles/Loginbundle/js/jquery-1.7.1.min.js')}}"></script>
<script src="{{asset('bundles/Loginbundle/js/jquery.validate.min.js')}}"></script>
<link href="{{asset('bundles/Loginbundle/css/bootstrap.css')}}" rel="stylesheet">
<form id="contact-form" class="form-horizontal" action="{{ path('login_login_homepage')}}" method="POST">
    <div class="form-group">
        <label class="control-label" for="user">Username:</label>
        <div class="input-group">
            <span class="input-group-addon">@</span>
            <input type="text" class="form-control" name='user' placeholder='Username' />
        </div>
    </div>    
    <div class="form-group">
        <label class="control-label" for="pass">Password:</label>
        <div class="input-group">
            <span class="input-group-addon"></span>
            <input class="form-control" type='password' name='pass' placeholder='Password'/>
        </div>
    </div>    
    <div class="checkbox">
        <label>
            <input type="checkbox" name="remember">
            Remember Me
        </label>
    </div>
    <!--<input type="checkbox" name="remember" value="Remember-Me"><p style="display:inline;"> &nbsp;Remember Me</p>
    -->
    <button class="btn btn-primary" type="submit" >SignIn</button>
    <a href="{{path('login_login_signup')}}">Sign Up</a>
    <br><br><br>  
</form>

scripy.js

$('form').validate({
    rules: {
        user: {
            minlength: 5,
            maxlength: 15,
            required: true
        },
        email: {
            required: true
        },
        pass: {
            minlength: 5,
            maxlength: 15,
            required: true
        }
    },
    highlight: function(element) {
        $(element).closest('.form-group').addClass('has-error');
        $(element).closest('.form-group').removeClass('has-success');
    },
    unhighlight: function(element) {
        $(element).closest('.form-group').removeClass('has-error');
        $(element).closest('.form-group').addClass('has-success');
    },
    errorElement: 'span',
    errorClass: 'help-block',
    errorPlacement: function(error, element) {
        if (element.parent('.input-group').length) {
            error.insertAfter(element.parent());
        } else {
            error.insertAfter(element);
        }
    }
});

我尝试使用 firebug 进行调试,但显示错误如下

但是,还是不行。请帮帮我。

【问题讨论】:

  • 浏览器控制台中的任何错误
  • 浏览器控制台没有任何错误。
  • “不工作”是什么意思?任何js错误?提交时页面是否刷新?给点线索
  • @HüseyinBABAL 是的,提交后页面刷新,另一个页面加载成功。没有显示“需要最少字符”之类的验证,也没有任何 js 和 php 错误。

标签: php jquery validation symfony twitter-bootstrap-3


【解决方案1】:

也许脚本在页面加载之前运行。在 script.js

中试试这个
$(document).ready(function() {
    $('form').validate({
        rules: {
            user: {
                minlength: 5,
                maxlength: 15,
                required: true
            },
            email: {
                required: true
            },
            pass: {
                minlength: 5,
                maxlength: 15,
                required: true
            }
        },
        highlight: function(element) {
            $(element).closest('.form-group').addClass('has-error');
            $(element).closest('.form-group').removeClass('has-success');
        },
        unhighlight: function(element) {
            $(element).closest('.form-group').removeClass('has-error');
            $(element).closest('.form-group').addClass('has-success');
        },
        errorElement: 'span',
        errorClass: 'help-block',
        errorPlacement: function(error, element) {
            if (element.parent('.input-group').length) {
                error.insertAfter(element.parent());
            } else {
                error.insertAfter(element);
            }
        }
    });
});

【讨论】:

  • @BABAL 嘿,谢谢,我已经尝试过了,但不是 wokrs。有什么想法吗?
  • @BABAL 我已经编辑了我的问题并插入了萤火虫中显示的错误。
  • 感谢@BABAL,我已经在 jquery 验证插件之前加载了 Scripts.js。再次感谢
猜你喜欢
  • 2014-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多