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


Posted in Javascript onDecember 16, 2014

基于Bootstrap jQuery.validate Form表单验证实践项目结构 :

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

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

1、form 表单代码[html]

<!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 代码[javascript]

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();  

        }  

    };  

}(); 

效果 :

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

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

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

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

相当不错的一个表单验证的特效,这里推荐给大家,小伙伴们自由美化下就可以用到自己项目中了。

Javascript 相关文章推荐
ext 列表页面关于多行查询的办法
Mar 25 Javascript
js继承的实现代码
Aug 05 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
May 28 Javascript
读jQuery之三(构建选择器)
Jun 11 Javascript
node.js中watch机制详解
Nov 17 Javascript
javascript设计模式之对象工厂函数与构造函数详解
Jul 30 Javascript
Jquery ajax请求导出Excel表格的实现代码
Jun 08 Javascript
Node.js Sequelize如何实现数据库的读写分离
Oct 23 Javascript
关于微信jssdk实现多图片上传的一点心得分享
Dec 13 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
Dec 27 Javascript
node.js博客项目开发手记
Mar 16 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
Nov 02 Javascript
node.js中的fs.fchmodSync方法使用说明
Dec 16 #Javascript
node.js中的fs.fchmod方法使用说明
Dec 16 #Javascript
node.js中的fs.lchmodSync方法使用说明
Dec 16 #Javascript
node.js中的fs.lchmod方法使用说明
Dec 16 #Javascript
javascript抽象工厂模式详细说明
Dec 16 #Javascript
node.js中的fs.statSync方法使用说明
Dec 16 #Javascript
node.js中的fs.stat方法使用说明
Dec 16 #Javascript
You might like
用header 发送cookie的php代码
2007/03/16 PHP
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
PHP读取PDF内容配合Xpdf的使用
2012/11/24 PHP
PHP count_chars()函数讲解
2019/02/14 PHP
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
2015/02/10 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
Javascript如何判断数据类型和数组类型
2016/06/22 Javascript
node网页分段渲染详解
2016/09/05 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
深入理解基于vue-cli的vuex配置
2017/07/24 Javascript
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
基于Node.js模板引擎教程-jade速学与实战1
2017/09/17 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
2017/10/31 Javascript
微信小程序如何获取用户手机号
2018/01/26 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
js实现删除json中指定的元素
2020/09/22 Javascript
Python优先队列实现方法示例
2017/09/21 Python
Django 多语言教程的实现(i18n)
2018/07/07 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
解决pyecharts在jupyter notebook中使用报错问题
2020/04/23 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
荷兰浴室和卫浴网上商店:Badkamerxxl.nl
2020/10/06 全球购物
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
领导检查欢迎词
2014/01/14 职场文书
满月酒主持词
2014/03/27 职场文书
以幸福为主题的活动方案
2014/08/22 职场文书
年度考核个人总结
2015/03/06 职场文书
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
MySQL脏读,幻读和不可重复读
2022/05/11 MySQL