基于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 相关文章推荐
效率高的Javscript字符串替换函数的benchmark
Aug 02 Javascript
JQuery 遮罩层实现(mask)实现代码
Jan 09 Javascript
js 判断脚本加载完毕的代码
Jul 13 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
Dec 27 Javascript
详解angular笔记路由之angular-router
Sep 12 Javascript
详解.vue文件中监听input输入事件(oninput)
Sep 19 Javascript
javascript 开发之网页兼容各种浏览器
Sep 28 Javascript
element-ui中的select下拉列表设置默认值方法
Aug 24 Javascript
JS获取动态添加元素的方法详解
Jul 31 Javascript
解决webpack多页面内存溢出的方法示例
Oct 08 Javascript
vue指令v-html使用过滤器filters功能实例
Oct 25 Javascript
js抽奖转盘实现方法分析
May 16 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
PHP实现采集程序原理和简单示例代码
2007/03/18 PHP
php开启安全模式后禁用的函数集合
2011/06/26 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
php获取微信基础接口凭证Access_token
2018/08/23 PHP
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
Express.JS使用详解
2014/07/17 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
BootStrap 模态框实现刷新网页并关闭功能
2017/01/04 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
浅析Python中yield关键词的作用与用法
2016/11/29 Python
Python调用C语言的实现
2019/07/26 Python
python解析yaml文件过程详解
2019/08/30 Python
opencv3/C++ 平面对象识别&amp;透视变换方式
2019/12/11 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
文员自我评价怎么写
2013/09/19 职场文书
2014年超市工作总结
2014/11/19 职场文书
父母教会我观后感
2015/06/17 职场文书