BootStrapValidate 简单使用
前阵子用了bootstrapvalidate写了一个登录验证,这里小记一笔
首先需要引入
bootstrapValidator.css //可不引入
jquery-2.1.0.min.js
bootstrap.min.js
bootstrapValidator.js
下面是校验方式 其中校验的两个文本框的name属性为 loginName和 password (切记文本框一定要用name属性 否则校验无效)
function validate(){
            $('form').bootstrapValidator({
                 message: 'This value is not valid',//默认提示信息
                    feedbackIcons: {//提示图标
                        valid: 'glyphicon glyphicon-ok',
                        invalid: 'glyphicon glyphicon-remove',
                        validating: 'glyphicon glyphicon-refresh'
                    },
                fields: {
                    loginName: {
                        message: '用户名验证失败',
                        validators: {
                            notEmpty: {
                                message: '用户名不能为空'
                            }
                        }
                    },
                    password: {
                        validators: {
                            notEmpty: {
                                message: '密码不能为空'
                            }
                        }
                    }
                }
            }).on('success.form.bv',function(e){
                formsub();
                e.preventDefault();//防止自动提交
            });
        }
function formsub(){
            var flag = $('form').data("bootstrapValidator").isValid();//校验合格
            if(flag){
                var load = top.layer.load();
                var $form = $('#form');
                $.ajax({
                    url:$form.attr('action'),
                    data:$form.serialize(),
                    type:'post',
                    beforeSend:function(){
                        layer.msg('正在登录');
                    },
                    success:function(data){
                        if(data=="success"){
                            setTimeout(function(){
                                layer.close(load);
                                layer.msg('登录成功');
                                setAndRemoveCookie();//是否写入cookie
                            },1000);
                            window.location.href=path+'/department/choose.do';
                        /*     setTimeout(function(){
                                //登录返回
                            },2000); */
                        }else{
                            layer.close(load);
                            layer.msg('身份验证失败,请检查用户名或密码是否正确!',{
                                time:3500 //3.5秒钟之后关闭
                            });
                            /* setTimeout(function(){
                            },1000); */
                        }
                    },
                    error:function(e){
                        layer.msg('出错咯o(╥﹏╥)o,请与后台联系!',{
                            btn:'我知道了'
                        });
                        layer.close(load);
                    }
                })
            }
        }
之前在做表单验证的时候 出现了一个问题 当我点击登录的时候 只有第一次点击时 ajax请求后台是正常返回用户名/密码不对 消息的
但如果我故意输错一次 再次点击 就会发现 后台进入了两次 这时候 ajax直接进入返回的error空白页了
网上查阅了资料 说是bootstrapvalidate 存在默认提交行为 于是加了下面这句代码就好了
e.preventDefault();//防止自动提交
这句代码 只能加在末尾那一行 否则当点击登录的时候 第一次就没有响应了
BootStrapValidate 简单使用的更多相关文章
- 【造轮子】打造一个简单的万能Excel读写工具
		
大家工作或者平时是不是经常遇到要读写一些简单格式的Excel? shit!~很蛋疼,因为之前吹牛,就搞了个这东西,还算是挺实用,和大家分享下. 厌烦了每次搞简单类型的Excel读写?不怕~来,喜欢流式 ...
 - Fabio 安装和简单使用
		
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
 - node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
		
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
 - 哪种缓存效果高?开源一个简单的缓存组件j2cache
		
背景 现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的.我在项目中也开始接触一些缓存的需求. 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务 ...
 - 在Openfire上弄一个简单的推送系统
		
推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...
 - 我的MYSQL学习心得(一) 简单语法
		
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
 - 使用 Nodejs 搭建简单的Web服务器
		
使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块.文件系统.url解析模块. ...
 - ASP.NET Aries 入门开发教程2:配置出一个简单的列表页面
		
前言: 朋友们都期待我稳定地工作,但创业公司若要躺下,也非意念可控. 若人生注定了风雨飘摇,那就雨中前行了. 最机开始看聊新的工作机会,欢迎推荐,创业公司也可! 同时,趁着自由时间,抓紧把这系列教程给 ...
 - 简单入门canvas - 通过刮奖效果来学习
		
一 .前言 一直在做PC端的前端开发,从互联网到行业软件.最近发现移动端已经成为前端必备技能了,真是不能停止学习.HTML5新增的一些东西,canvas是用的比较多也比较复杂的一个,简单的入门了一下, ...
 
随机推荐
- Android解析WindowManagerService(一)WMS的诞生
			
前言 此前我用多篇文章介绍了WindowManager,这个系列我们来介绍WindowManager的管理者WMS,首先我们先来学习WMS是如何产生的.本文源码基于Android 8.0,与Andro ...
 - linux下close 掉socket 之后 阻塞的recv 不会立即返回
			
转载自:http://www.cnblogs.com/wainiwann/p/3942203.html 在开发的一个基于rtmp聊天的程序时发现了一个很奇怪的现象. 在windows下当我们执行 cl ...
 - php自动获取上一个月的起始时间
			
1.借鉴评论的方法[20170309 edit] function get_month_start_end($timestamp) { !empty($timestamp) OR $timestamp ...
 - centos虚拟机网卡配置
			
连接模式为NAT
 - org.springframework.data.mongodb.core.MongoTemplate]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.core.convert.support.ConversionServiceFactory.cr
			
spring-data-mongo 和spring core包冲突.解决办法: <dependency> <groupId>org.springframework.data&l ...
 - 1 年经验 Java 求职面试题
			
从 17 年的大三暑假就在这家公司实习转正,在这家公司呆了快2年了,随着公司新一轮的融资,看起来公司离上市更近了一步,但期权池也进一步稀释,没有期权的我感觉回报更少了,另外在这家公司接触到的东西也有瓶 ...
 - python学习笔记之open函数的用法
			
先上一段代码 >>> f = open('1.txt','r'); >>> f.readline() #读取数据>>> f.close() #关闭 ...
 - nohup使用相关知识
			
常规用法nohup ./abc.sh > abc.out & --输出nohup的日志到abc.outnohup ./abc.sh & ...
 - 理解单链表的反转(java实现)
			
要求很简单,输入一个链表,反转链表后,输出新链表的表头. 反转链表是有2种方法(递归法,遍历法)实现的,面试官最爱考察的算法无非是斐波那契数列和单链表反转,递归方法实现链表反转比较优雅,但是对于不 ...
 - https nginx 设置
			
https://www.digitalocean.com/community/tutorials/how-to-create-an-ssl-certificate-on-nginx-for-ubunt ...