• 基于Bootstrap+jQuery.validate Form表单验证实践


    本文转载自:http://blog.csdn.net/zoutongyuan/article/details/28094565

    项目结构 :

    github 上源码地址:https://github.com/starzou/front-end-example    点击打开

    1、form 表单代码

    <!DOCTYPE html>  
    <html>  
        <head>  
            <title>Bootstrap Form Template</title>  
            <meta charset="utf-8" />  
            <meta name="viewport" content="width=device-width, initial-scale=1.0">  
            <link rel="stylesheet" type="text/css" href="plugins/bootstrap/css/bootstrap.css"/>  
        </head>  
        <body>  
            <div class="container">  
                <h1 class="text-center text-danger">Form 示例</h1>  
                <form role="form" class="form-horizontal" action="javascript:alert('验证成功,可以提交.');" method="post">  
                    <div class="form-group">  
                        <label class="col-md-2 control-label" for="name">Name</label>  
                        <div class="col-md-10">  
                            <input class="form-control" name="name" type="text" id="name" placeholder="Name" value="" />  
                        </div>  
                    </div>  
                    <div class="form-group">  
                        <label class="col-md-2 control-label" for="exampleInputPassword1">Password</label>  
                        <div class="col-md-10">  
                            <input type="password" name="password" class="form-control" id="exampleInputPassword1" placeholder="Password">  
                        </div>  
                    </div>  
                    <div class="form-group">  
                        <label for="intro" class="control-label col-md-2">Intro</label>  
                        <div class="col-md-10">  
                            <textarea id="intro" class="form-control" rows="3" name="intro" placeholder="Intro"></textarea>  
                        </div>  
                    </div>  
      
                    <div class="form-group">  
                        <label class="control-label col-md-2">Gender</label>  
                        <div class="col-md-10">  
                            <label class="radio-inline">  
                                <input type="radio" name="gender"  value="男" />  
                                boy </label>  
      
                            <label class="radio-inline">  
                                <input type="radio" name="gender"  value="女" />  
                                gril </label>  
                        </div>  
                    </div>  
      
                    <div class="form-group">  
                        <label for="hobby" class="control-label col-md-2">Hobby</label>  
                        <div class="col-md-10">  
                            <div class="checkbox">  
                                <label>  
                                    <input type="checkbox" name="hobby" value="Music">  
                                    Music</label>  
                            </div>  
                            <div class="checkbox">  
                                <label>  
                                    <input type="checkbox" name="hobby" id="" value="Game" />  
                                    Game </label>  
                            </div>  
      
                            <label class="checkbox-inline">  
                                <input type="checkbox" id="inlineCheckbox1" value="option1">  
                                option1 </label>  
                            <label class="checkbox-inline">  
                                <input type="checkbox" id="inlineCheckbox2" value="option2">  
                                option3</label>  
                            <label class="checkbox-inline">  
                                <input type="checkbox" id="inlineCheckbox3" value="option3">  
                                option3 </label>  
                        </div>  
                    </div>  
      
                    <div class="form-group">  
                        <label for="sel" class="control-label col-md-2">Select</label>  
                        <div class="col-md-10">  
                            <select multiple="" id="sel" name="sel" class="form-control">  
                                <option value="1">1</option>  
                                <option value="2">2</option>  
                                <option value="3">3</option>  
                            </select>  
                        </div>  
                    </div>  
      
                    <div class="form-group">  
                        <div class="col-md-offset-2 col-md-10">  
                            <button type="submit" class="btn btn-primary btn-sm">  
                                Submit  
                            </button>  
                            <button type="reset" class="btn btn-primary btn-sm">  
                                Reset  
                            </button>  
                        </div>  
                    </div>  
                </form>  
            </div>  
      
            <script src="plugins/jquery-1.11.1.js" type="text/javascript" charset="utf-8"></script>  
            <script src="plugins/bootstrap/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>  
            <script src="plugins/jquery-validation/dist/jquery.validate.js" type="text/javascript" charset="utf-8"></script>  
      
            <script src="scripts/form.js" type="text/javascript" charset="utf-8"></script>  
            <script type="text/javascript" charset="utf-8">  
                MyValidator.init();  
            </script>  
        </body>  
    </html>  

    需要引用 jquery.js,bootstrap.js,jquery.validate.js 库

    2、form.js 代码

    var MyValidator = function() {  
        var handleSubmit = function() {  
            $('.form-horizontal').validate({  
                errorElement : 'span',  
                errorClass : 'help-block',  
                focusInvalid : false,  
                rules : {  
                    name : {  
                        required : true  
                    },  
                    password : {  
                        required : true  
                    },  
                    intro : {  
                        required : true  
                    }  
                },  
                messages : {  
                    name : {  
                        required : "Username is required."  
                    },  
                    password : {  
                        required : "Password is required."  
                    },  
                    intro : {  
                        required : "Intro is required."  
                    }  
                },  
      
                highlight : function(element) {  
                    $(element).closest('.form-group').addClass('has-error');  
                },  
      
                success : function(label) {  
                    label.closest('.form-group').removeClass('has-error');  
                    label.remove();  
                },  
      
                errorPlacement : function(error, element) {  
                    element.parent('div').append(error);  
                },  
      
                submitHandler : function(form) {  
                    form.submit();  
                }  
            });  
      
            $('.form-horizontal input').keypress(function(e) {  
                if (e.which == 13) {  
                    if ($('.form-horizontal').validate().form()) {  
                        $('.form-horizontal').submit();  
                    }  
                    return false;  
                }  
            });  
        }  
        return {  
            init : function() {  
                handleSubmit();  
            }  
        };  
      
    }();  

    效果 :

  • 相关阅读:
    Flink-v1.12官方网站翻译-P029-User-Defined Functions
    Flink-v1.12官方网站翻译-P028-Custom Serialization for Managed State
    Flink-v1.12官方网站翻译-P027-State Schema Evolution
    Flink-v1.12官方网站翻译-P026-State Backends
    Flink-v1.12官方网站翻译-P025-Queryable State Beta
    Flink-v1.12官方网站翻译-P024-Checkpointing
    Flink-v1.12官方网站翻译-P023-The Broadcast State Pattern
    Flink-v1.12官方网站翻译-P022-Working with State
    java笔记五——数组
    java笔记四——java基础知识(二)
  • 原文地址:https://www.cnblogs.com/wpcnblog/p/7506059.html
Copyright © 2020-2023  润新知