基于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 相关文章推荐
JScript内置对象Array中元素的删除方法
Mar 08 Javascript
web前端开发也需要日志
Dec 09 Javascript
基于jquery的loading 加载提示效果实现代码
Sep 01 Javascript
分享XmlHttpRequest调用Webservice的一点心得
Jul 20 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
Nov 12 Javascript
Javascript检查图片大小不要让大图片撑破页面
Nov 04 Javascript
switch语句的妙用(必看篇)
Oct 03 Javascript
Angular和百度地图的结合实例代码
Oct 19 Javascript
jQuery实现手机上输入后隐藏键盘功能
Jan 04 Javascript
jquery代码规范让代码越来越好看
Feb 03 Javascript
node.js监听文件变化的实现方法
Apr 17 Javascript
Node绑定全局TraceID的实现方法
Nov 14 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中判断数组相等的方法以及数组运算符介绍
2015/03/30 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
PHP微信刮刮卡 附微信接口
2016/07/22 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
php fread函数使用方法总结
2019/05/28 PHP
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
JS修改css样式style浅谈
2013/05/06 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
jQuery 判断图片是否加载完成方法汇总
2015/08/10 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
2020/05/01 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
[03:09]DOTA2亚洲邀请赛 LGD战队出场宣传片
2015/02/07 DOTA
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
使用Python进行二进制文件读写的简单方法(推荐)
2016/09/12 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
2016/11/16 Python
python如何将图片转换为字符图片
2020/08/19 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
2018/06/21 Python
Windows下python3.7安装教程
2018/07/31 Python
学生信息管理系统python版
2018/10/17 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
解决阿里云邮件发送不能使用25端口问题
2020/08/07 Python
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
新闻报道策划方案
2014/06/11 职场文书
销售顾问工作计划书
2014/08/15 职场文书
公民授权委托书
2014/10/15 职场文书
2016年企业安全生产月活动总结
2016/04/06 职场文书
css3 文字断裂效果
2022/04/22 HTML / CSS