BootstrapValidator验证

bootstrap:能够增加兼容性的强大框架.

因为项目需要数据验证,看bootstrapValidator 还不错,就上手一直,完美兼容,话不多说。

需要引用css:

bootstrap.min.css

bootstrapValidator.min.css

js:

jquery-1.10.2.min.js

bootstrap.min.js

bootstrapValidator.min.js

(下载实例)

以上这些都是必须的。

先上个简单的例子,只要导入相应的文件可以直接运行:

 View Code

这是最基本的,例子直接复制到本地,并且导入需要的css和js文件(JS中username,password等键值名和input标签中name属性值对应),运行就能够进行非空,长度验证,完全不需要管css样式。

效果图如下:

当然,以上都是插件写好的规则,如果想自己加匹配规则怎么办呢?

如下只要在input相对应的键值中加入一个regexp:{}键值对(在上面的js基础上修改)

复制代码
username: {/*键名和input name值对应*/message: 'The username is not valid',validators: {notEmpty: {/*非空提示*/message: '用户名不能为空'},regexp: {/* 只需加此键值对,包含正则表达式,和提示 */regexp: /^[a-zA-Z0-9_\.]+$/,message: '只能是数字和字母_.'},stringLength: {/*长度提示*/min: 6,max: 30,message: '用户名长度必须在6到30之间'}/*最后一个没有逗号*/}},
复制代码

效果如下:

 

 至此只要运行和看了例子,就能进行大部分的验证了,是不是很简单?只要写相应的键值对即可,再也自己什么都写了。下面进一步的使用,进行用户的注册,

需求:

实时验证用户名是否存在,密码不能和用户名相同,两次密码需要相同,提交之后需要验证返回值

html代码(直接替换上例子中的form即可):

复制代码
<form id="defaultForm" role="form" class="form-signin" action="registerAccount.do"method="post"><h2 class="form-signin-heading">请输入注册信息:</h2><div class="form-group"><label for="username">用户名:</label><input class="form-control"type="text" name="username" id="username" /></div><div class="form-group"><label for="password">密码:</label><input class="form-control"type="password" name="password" id="password"/></div><div class="form-group"><label for="repassword">确认密码:</label><input class="form-control"type="password" name="repassword" id="repassword" /></div><div class="form-group"><label for="phone">手机号码:</label><input class="form-control"type="text" name="phone" id="phone" /></div><div class="form-group"><label for="email">email:</label><input class="form-control"type="email" name="email" id="email" /></div><div class="form-group"><label for="invite">邀请码:</label><input class="form-control"type="text" name="invite" id="invite"></div><div class="form-group"><button class="btn btn-lg btn-primary btn-block" type="submit">确认注册</button><a class="btn btn-lg btn-primary btn-block" href="../">返回首页</a></div></form>
复制代码

js代码(直接替换例子中的JS):

复制代码
$(function(){/* 文档加载,执行一个函数*/$('#defaultForm').bootstrapValidator({message: 'This value is not valid',feedbackIcons: {/*input状态样式图片*/valid: 'glyphicon glyphicon-ok',invalid: 'glyphicon glyphicon-remove',validating: 'glyphicon glyphicon-refresh'},fields: {/*验证:规则*/username: {//验证input项:验证规则message: 'The username is not valid',validators: {notEmpty: {//非空验证:提示消息message: '用户名不能为空'},stringLength: {min: 6,max: 30,message: '用户名长度必须在6到30之间'},threshold :  6 , //有6字符以上才发送ajax请求,(input中输入一个字符,插件会向服务器发送一次,设置限制,6字符以上才开始)remote: {//ajax验证。server result:{"valid",true or false} 向服务发送当前input name值,获得一个json数据。例表示正确:{"valid",true}  url: 'exist2.do',//验证地址message: '用户已存在',//提示消息delay :  2000,//每输入一个字符,就发ajax请求,服务器压力还是太大,设置2秒发送一次ajax(默认输入一个字符,提交一次,服务器压力太大)type: 'POST'//请求方式/**自定义提交数据,默认值提交当前input value*  data: function(validator) {return {password: $('[name="passwordNameAttributeInYourForm"]').val(),whatever: $('[name="whateverNameAttributeInYourForm"]').val()};}*/},regexp: {regexp: /^[a-zA-Z0-9_\.]+$/,message: '用户名由数字字母下划线和.组成'}}},password: {message:'密码无效',validators: {notEmpty: {message: '密码不能为空'},stringLength: {min: 6,max: 30,message: '用户名长度必须在6到30之间'},identical: {//相同field: 'password', //需要进行比较的input name值message: '两次密码不一致'},different: {//不能和用户名相同field: 'username',//需要进行比较的input name值message: '不能和用户名相同'},regexp: {regexp: /^[a-zA-Z0-9_\.]+$/,message: 'The username can only consist of alphabetical, number, dot and underscore'}}},repassword: {message: '密码无效',validators: {notEmpty: {message: '用户名不能为空'},stringLength: {min: 6,max: 30,message: '用户名长度必须在6到30之间'},identical: {//相同field: 'password',message: '两次密码不一致'},different: {//不能和用户名相同field: 'username',message: '不能和用户名相同'},regexp: {//匹配规则regexp: /^[a-zA-Z0-9_\.]+$/,message: 'The username can only consist of alphabetical, number, dot and underscore'}}},email: {validators: {notEmpty: {message: '邮件不能为空'},emailAddress: {message: '请输入正确的邮件地址如:123@qq.com'}}},phone: {message: 'The phone is not valid',validators: {notEmpty: {message: '手机号码不能为空'},stringLength: {min: 11,max: 11,message: '请输入11位手机号码'},regexp: {regexp: /^1[3|5|8]{1}[0-9]{9}$/,message: '请输入正确的手机号码'}}},invite: {message: '邀请码',validators: {notEmpty: {message: '邀请码不能为空'},stringLength: {min: 8,max: 8,message: '请输入正确长度的邀请码'},regexp: {regexp: /^[\w]{8}$/,message: '请输入正确的邀请码(包含数字字母)'}}},}}).on('success.form.bv', function(e) {//点击提交之后// Prevent form submissione.preventDefault();// Get the form instancevar $form = $(e.target);// Get the BootstrapValidator instancevar bv = $form.data('bootstrapValidator');// Use Ajax to submit form data 提交至form标签中的action,result自定义$.post($form.attr('action'), $form.serialize(), function(result) {
//do something...
});});
});
复制代码

效果图:

 

异常:

Uncaught RangeError: Maximum call stack size exceedede

没有加class="form-group"

 

转载于:https://www.cnblogs.com/wuwenshuai/p/7120755.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254140.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于ARM9的视频采集传输系统

http://www.ic37.com/htm_tech/2007-11/77189_618093.htm

halcon找矩形顶点的一种方法

主程序&#xff1a; read_image (Image11, 11)*画仿射矩形 dev_set_color (green) draw_rectangle2 (3600, Row, Column, Phi, Length1, Length2)*生成仿射矩形xld gen_rectangle2_contour_xld (Rectangle, Row, Column, Phi, Length1, Length2) *找顶点工具&#xff08;基于卡…

老男孩linux运维50期

一、自我介绍&#xff1a;我是来自老男孩Linux运维脱产50期的杨国峰&#xff0c;我以前是学软件编码的&#xff0c;但在大学里基本没怎么学&#xff0c;每一门课都一知半解的&#xff0c;甚至有些连软件都不会装&#xff0c;在校期间&#xff0c;我对JAVA、网页设计等都不感兴趣…

博客收藏

http://www.dreamfairy.cn/blog/category/unity3d/转载于:https://www.cnblogs.com/wantnon/p/5989843.html

移动开发平台性能比較

jquerymobile是一个mobile平台下的js框架,跟phonegap没有一毛钱关系.phonegap实际上在国内占有率不高的,非常多人为了体验喜欢做传统的原生手机应用. 而Webapp如今的占有率越来越少,由于越来越多的人不喜欢用手机浏览器去体验专门为移动平台搭建的站点.我认为你的比較对象应该是…

H264关于RTP协议的实现

完整的C&#xff0f;S架构的基于RTP&#xff0f;RTCP的H&#xff0e;264视频传输方案。此方案中&#xff0c;在服务器端和客户端分别进行了功能模块设计。服务器端&#xff1a;RTP封装模块主要是对H&#xff0e;264码流进行打包封装&#xff1b;RTCP分析模块负责产牛和发送RTCP…

华为数通HCIE面试题目解密系列之RSTP边缘端口

以下是华为数通面试考试的一道真题&#xff0c;原题如下&#xff1b; 请举例说明 stp 的 edge port 的作用,用在什么场景&#xff0c;并且使用 edge port 会碰到什么问题&#xff0c;怎么解决和防止&#xff1f; 提到边缘端口&#xff0c;我们是在NP课程的交换部分第一次接触&a…

VS2013 Pro版本密钥

Visual Studio Professional 2013 KEY&#xff08;密钥&#xff09;&#xff1a; XDM3T-W3T3V-MGJWK-8BFVD-GVPKY 转载于:https://www.cnblogs.com/Mysterious/p/5990358.html

Django:视图和URL配置

一、视图1.在mysite文件夹下。创建views.py文件&#xff08;文件名称没有特别的要求&#xff09;&#xff1b;from django.http import HttpResponsedef hello(request):return HttpResponse("Hello world")2.改动mysite文件夹下的urls.py文件&#xff1b;from djang…

u-boot 详细介绍 .

Bootloader 对于计算机系统来说&#xff0c;从开机上电到操作系统启动需要一个引导过程。嵌入式Linux系统同样离不开引导程序&#xff0c;这个引导程序就叫作Bootloader。6.1.1 Bootloader介绍Bootloader是在操作系统运行之前执行的一段小程序。通过这段小程序&#xff0c;我们…

apicloud使用指南

ApiCloud ApiCloud平台介绍 ApiCloud首页在线教程文档ApiCloud是一个国内的Hybird APP平台&#xff0c;提供Hybird APP一站式开发服务。可以将使用HTML、CSS和JS制作的应用直接编译为能在安卓和IOS平台上运行的APP。另外&#xff0c;其所提供的代码托管和在线编译服务&#xff…

halcon对光源打光不均匀进行平场矫正

* Image Acquisition 01: Code generated by Image Acquisition 01 *******预处理&#xff0c;生成RGB三通道的平场矫正的图像 *1.绘制检测ROI *2.对检测的ROI进行平场矫正 *3.平场矫正方法采用均值对减方法 read_image (ImageWhite, C:/Users/Administrator/Desktop/平场矫正/…

一般面试题

1.浏览器访问一个网页的整个过程&#xff0c;附带连接协议&#xff1f; 2.tcp和upd的区别&#xff1f; 3.tcp报头&#xff1f; 4.网络协议的7层和5层分别是什么&#xff1f; 5.ipv6的知识&#xff1f; 6.网络分包&#xff1f; 7.求素数的改进方法&#xff1f;转载于:https://ww…

Python 执行代码的两种方式

1、交互执行即黑屏命令行执行 优点:即时调时程序&#xff0c;调试方便 缺点&#xff1a;无法永久无法保存代码 2、即文件存储代码执行Python代码文件 优点&#xff1a;可以永久保存代码 缺点&#xff1a;调试不方便转载于:https://www.cnblogs.com/liuxiaowei/p/7163473.html

金属圆柱求取倾斜角度

方法1&#xff1a; count_seconds (Seconds1)read_image (Image, 9_7750_f3d301de6764d94.jpg)get_image_size (Image, Width, Height)dev_open_window (0, 0, Width, Height, black, WindowHandle)dev_display (Image)rgb1_to_gray (Image, GrayImage)dev_display (GrayImage)…

编程开发之--java多线程学习总结(2)同步代码块

1、第一种解决办法&#xff1a;同步代码块&#xff0c;关键字synchronized package com.lfy.ThreadsSynchronize;/*** 1、使用同步代码块* 语法&#xff1a;synchronized (同步锁) {//需要同步操作的代码 }同步锁&#xff1a;为了保证每个线程都能正常的执行原子操作&a…

swift 随机数

1.一行代码生成随机数 arc4random() 如果要生成一个生成在一定范围内的随机整数: func randomIn(#min: Int, max: Int) -> Int { return Int(arc4random()) % (max - min 1) min} 该方法会生成[min, max]范围内的随机整数转载于:https://www.cnblogs.com/qiyiyifan/p/…

u-boot裁减

http://blog.csdn.net/menuconfig/article/details/2276078u-boot裁减的主要方法是通过删除不需要的命令来减小可执行代码体积。比如说&#xff0c;如果不需要网络相关的功能&#xff0c;则可以将网络相关的所有命令全部删除&#xff0c;可以节约可观的flash空间。一般u-boot的…

PhpStudy 升级 MySQL 版本到5.7

1&#xff1a;备份当前数据库数据、 最好是导成 SQL 文件2&#xff1a;备份 PhpStudy 下的 MySQL 文件夹、以防升级失败、还可以使用旧版本的数据库3&#xff1a;下载MySQL5.7、解压、然后放在 PhpStudy 下的 MySQL 文件夹下地址&#xff1a;https://dev.mysql.com/downloads/f…

使用直线标定板进行相机畸变校正,并且进行9点标定(halcon)

直线标定板图片&#xff1a; 机械吸头位置图片&#xff1a; 处理代码 read_image (Image, 直线标定板图片/Left201118140641772.bmp) get_image_size (Image, Width, Height) dev_close_window () dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle) dev_display…