代码之家  ›  专栏  ›  技术社区  ›  Sahan Pasindu Nirmal

bootstrap 4和jquery验证插件[duplicate]

  •  1
  • Sahan Pasindu Nirmal  · 技术社区  · 7 年前

    这个问题已经有了答案:

    我正在做一个项目,我需要添加一个简单的方法来验证客户端表单,然后我转移到jquery验证插件。我在玩一些基本的东西,但是当它变成这样的时候我很挣扎

    enter image description here

    到目前为止我已经做了那么多

    enter image description here

    我的HTML代码

            <body>
            <form id="default-register-user" method="POST" action="index.php">
                <div class="form-row">
                    <div class="col-md-4 mb-3">
                        <label for="validationServer01">First name</label>
                        <input type="text" class="form-control" id="validationServer01" placeholder="First name" 
                        required name="fname">
                    </div>
                    <div class="col-md-4 mb-3">
                        <label for="validationServer02">Email</label>
                        <input type="text" class="form-control" id="validationServer02" placeholder="Last name" required name="lname" minlength="4">
                    </div>
                    <div class="col-md-4 mb-3">
                        <label for="validationServerUsername">Username</label>
                        <div class="input-group">
                            <div class="input-group-prepend">
                                <span class="input-group-text" id="inputGroupPrepend3">@</span>
                            </div>
                            <input type="text" class="form-control" id="validationServerUsername" placeholder="Username" aria-describedby="inputGroupPrepend3"
                                required name="username">
                        </div>
                    </div>
                </div>
                <button class="btn btn-primary" type="submit">Submit form</button>
    
                <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
                    crossorigin="anonymous"></script>
                <script src="https://cdn.jsdelivr.net/npm/jquery-validation@1.17.0/dist/jquery.validate.min.js"></script>
                <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T"
                    crossorigin="anonymous"></script>
                <script type="text/javascript">
                    $(document).ready(function () {
                        $("#default-register-user").validate({
                            rules: {
                                lfname: {
                                    required: true,
                                    minlength: 5,
                                    maxlength: 20
                                },
                                lname: {
                                    required: true,
                                    minlength: 5,
                                    maxlength: 20
                                },
                                username: {
                                    required: true,
                                    minlength: 6,
                                    maxlength: 25
                                }
                            }
                        });
                    });
                </script>
            </form>
        </body>
    

    我需要补充

    • 输入字段下面的小消息它是有效的或无效的输入
    • 当输入字段有效或无效时,需要在其周围放置绿色或红色边框

    我该如何改进它,有人会解释它是如何工作的吗?我刚在网上搜索了一下,找到了如何使用bootstrap 3,但是有些类已经更改,需要额外的jquery。

    谢谢您。!

    1 回复  |  直到 7 年前
        1
  •  4
  •   djibe    7 年前

    parsley jquery插件也这样做。 你可以在这里玩小提琴:

    https://jsfiddle.net/djibe89/tu0ap111/

     // Parsley plugin initialization with tweaks to style Parsley for Bootstrap 4
    
     $("#my-form").parsley({
    
       errorClass: 'is-invalid text-danger',
    
       successClass: 'is-valid', // Comment this option if you don't want the field to become green when valid. Recommended in Google material design to prevent too many hints for user experience. Only report when a field is wrong.
    
       errorsWrapper: '<span class="form-text text-danger"></span>',
    
       errorTemplate: '<span></span>',
    
       trigger: 'change'
    
     }) /* If you want to validate fields right after page loading, just add this here : .validate()*/ ;
    
     // Parsley full doc is avalailable here : https://github.com/guillaumepotier/Parsley.js/