bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码


Posted in Javascript onMay 19, 2020

注意:jQuery报 Maximum call stack size exceeded

错误描述:超出最大调用堆栈大小

错误原因:内部形成递归

解决方案: html 写法不规范,更改 html 写法,可参考官网示例,或下面代码。 

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>validate</title>
	<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.css" rel="stylesheet">
	<link href="https://cdn.bootcdn.net/ajax/libs/bootstrap-validator/0.5.3/css/bootstrapValidator.css" rel="stylesheet">
</head>
<body>
<div class="container">
	<div class="row">
	<form id="inputForm">
		<div class="form-group">
			<label class="col-lg-4 control-label">姓名</label>
			<div class="col-lg-8">
				<input type="text" class="form-control" name="xm" />
			</div>
		</div>
		<div class="form-group">
			<label class="col-lg-4 control-label">性别</label>
			<div class="col-lg-8">
				<input type="text" class="form-control" name="xb" />
			</div>
		</div>
		<div class="form-group">
			<label class="col-lg-4 control-label">年龄</label>
			<div class="col-lg-8">
				<input type="text" class="form-control" name="nl" />
			</div>
		</div>
	</form>
	<div class="row">
		<button id="btn1" class="btn btn-primary" >提交</button>
		<button id="btn2" class="btn btn-primary" >更改校验状态</button>
		<button id="btn3" class="btn btn-primary" >增加校验字段</button>
		<button id="btn4" class="btn btn-primary" >移除校验字段</button>
		<button id="btn5" class="btn btn-primary" >重置表单校验</button>
	</div>
	</div>
</div>
</body>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/2.2.4/jquery.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-validator/0.5.3/js/bootstrapValidator.js"></script>
<script>
$(function(){
	var formValidator = function(){
	$('#inputForm').bootstrapValidator({
		fields:{
			xm:{
				validators:{
					notEmpty:{
						message: '姓名不能为空'
					}
				}
			},
			xb:{
				validators:{
					notEmpty:{
						message: '性别不能为空'
					}
				}
			}
		}
	});
	}
	formValidator();
	
	// 提交表单
	$('#btn1').on('click', function(){
		var bootstrapValidator = $('#inputForm').data('bootstrapValidator');
		bootstrapValidator.validate();
		if(bootstrapValidator.isValid()){
			alter('提交成功');
		}
	});
	
	// 改变字段校验状态
	$('#btn2').on('click', function(){
		/*
			NOT_VALIDATED 未校验的
			VALIDATING 校验中的
			INVALID 校验失败的
			VALID 校验成功的
		*/
		// $('#inputForm').bootstrapValidator('updateStatus', 'xm', 'NOT_VALIDATED');
		// 或
		$('#inputForm').data('bootstrapValidator').updateStatus('xm', 'NOT_VALIDATED');
	});
	
	// 增加校验字段
	$('#btn3').on('click', function(){
		/*$('#inputForm').bootstrapValidator('addField', 'nl', {
			validators:{
				notEmpty:{
					message: '年龄不能为空'
				}
			}
		});*/
		// 或
		$('#inputForm').data('bootstrapValidator').addField('nl', {
			validators:{
				notEmpty:{
					message: '年龄不能为空'
				}
			}
		});
	});
	
	// 移除校验字段
	$('#btn4').on('click', function(){
		// 字段可以处于校验中,所以先处理校验状态
		// $('#inputForm').bootstrapValidator('updateStatus', 'xm', 'NOT_VALIDATED');
		// $('#inputForm').bootstrapValidator('removeField', 'xm');
		// 或
		$('#inputForm').data('bootstrapValidator').updateStatus('xm', 'NOT_VALIDATED');
		$('#inputForm').data('bootstrapValidator').removeField('xm');
		
	});
	
	// 重置表单校验
	$('#btn5').on('click', function(){
		$('#inputForm').bootstrapValidator('resetForm', true);
		// 或
		//$('#inputForm').data('bootstrapValidator').resetForm(true);
	});
	
	
});
</script>
</html>

总结

到此这篇关于bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码的文章就介绍到这了,更多相关bootstrapvalidator表单校验内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
Dojo之路:如何利用Dojo实现Drag and Drop效果
Apr 10 Javascript
学习ExtJS Panel常用方法
Oct 07 Javascript
jquery iframe操作详细解析
Nov 20 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
Jan 06 Javascript
javascript对JSON数据排序的3个例子
Apr 12 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
Nov 18 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
Jun 29 Javascript
原生JS获取元素的位置与尺寸实现方法
Oct 18 Javascript
深入浅析JS中的严格模式
Jun 04 Javascript
详解用JS添加和删除class类名
Mar 25 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
Oct 28 Javascript
ant design pro中可控的筛选和排序实例
Nov 17 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
May 19 #jQuery
jQuery AJAX应用实例总结
May 19 #jQuery
单线程JavaScript实现异步过程详解
May 19 #Javascript
vue相关配置文件详解及多环境配置详细步骤
May 19 #Javascript
JS使用for in有序获取对象数据
May 19 #Javascript
基于js实现数组相邻元素上移下移
May 19 #Javascript
Node.js API详解之 zlib模块用法分析
May 19 #Javascript
You might like
php 文件上传实例代码
2012/04/19 PHP
yii2中使用Active Record模式的方法
2016/01/09 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
2021/03/09 PHP
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
JavaScript高级程序设计 客户端存储学习笔记
2011/09/10 Javascript
解析JavaScript中的标签语句
2013/06/19 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
vue debug 二种方法
2018/09/16 Javascript
JavaScript实现连连看连线算法
2019/01/05 Javascript
JS实现点击li标签弹出对应的索引功能【案例】
2019/02/18 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
vue.js click点击事件获取当前元素对象的操作
2020/08/07 Javascript
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
python实现的希尔排序算法实例
2015/07/01 Python
python搭建虚拟环境的步骤详解
2016/09/27 Python
Python基于列表模拟堆栈和队列功能示例
2018/01/05 Python
Python Requests模拟登录实现图书馆座位自动预约
2018/04/27 Python
详解Python:面向对象编程
2019/04/10 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
百思买加拿大:Best Buy Canada
2018/03/20 全球购物
经管应届生求职信
2013/11/17 职场文书
公司活动邀请函
2014/01/24 职场文书
保护环境倡议书300字
2014/05/19 职场文书
企业法人代表证明书
2014/09/27 职场文书
高中生综合素质评价范文
2015/08/18 职场文书