基于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 相关文章推荐
QQ登录简单实现代码
Mar 09 Javascript
firebug的一个有趣现象介绍
Nov 30 Javascript
用javascript判断IE版本号简单实用且向后兼容
Sep 11 Javascript
jquery选择器之层级过滤选择器详解
Jan 27 Javascript
js使用栈来实现10进制转8进制与取除数及余数
Jun 11 Javascript
基于javascript制作经典传统的拼图游戏
Mar 22 Javascript
vue事件修饰符和按键修饰符用法总结
Jul 25 Javascript
vue中页面跳转拦截器的实现方法
Aug 23 Javascript
利用Javascript开发一个二维周视图日历
Dec 14 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
Sep 30 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
Aug 01 Javascript
利用JS判断元素是否为数组的方法示例
Jan 08 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
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
PHP将字符分解为多个字符串的方法
2014/11/22 PHP
PHP答题类应用接口实例
2015/02/09 PHP
PHP添加图片水印、压缩、剪切的封装类
2015/08/17 PHP
php模拟post上传图片实现代码
2016/06/24 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
用nodejs搭建websocket服务器
2017/01/23 NodeJs
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
Python selenium抓取微博内容的示例代码
2018/05/17 Python
python调用百度语音识别api
2018/08/30 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
django admin 添加自定义链接方式
2020/03/11 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
Python可以用来做什么
2020/11/23 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
2021/01/27 Python
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
北京振戎融通Java面试题
2015/09/03 面试题
成绩单公证书
2014/04/10 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
2015中秋节晚会开场白
2015/07/30 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
Python re.sub 反向引用的实现
2021/07/07 Python
处理canvas绘制图片模糊问题
2022/05/11 Javascript