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 相关文章推荐
js通过元素class名字获取元素集合的具体实现
Jan 06 Javascript
javascript实现禁止右键和F12查看源代码
Dec 26 Javascript
JS实现兼容性较好的随屏滚动效果
Nov 09 Javascript
全面解析Bootstrap中form、navbar的使用方法
May 30 Javascript
Bootstrap风格的WPF样式
Dec 07 Javascript
node.js中EJS 模板快速入门教程
May 08 Javascript
VSCode 配置React Native开发环境的方法
Dec 27 Javascript
angular写一个列表的选择全选交互组件的示例
Jan 22 Javascript
vue获取当前激活路由的方法
Mar 17 Javascript
Vue下路由History模式打包后页面空白的解决方法
Jun 29 Javascript
微信小程序实现工作时间段选择
Feb 15 Javascript
一文快速详解前端框架 Vue 最强大的功能
May 21 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二维/三维数组转字符串
2013/09/13 PHP
PHP实现下载断点续传的方法
2014/11/12 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
javascript 写类方式之七
2009/07/05 Javascript
javascript写的一个链表实现代码
2009/10/25 Javascript
基于jquery的滑动样例代码
2010/11/20 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
2014/02/12 Javascript
使用script的src实现跨域和类似ajax效果
2014/11/10 Javascript
Jquery zTree 树控件异步加载操作
2016/02/25 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
详解JavaScript中的属性和特性
2016/12/08 Javascript
微信小程序 登录的简单实现
2017/04/19 Javascript
JS实现使用POST方式发送请求
2019/08/30 Javascript
Vue如何使用混合Mixins和插件开发详解
2020/02/05 Javascript
vue中v-for循环选中点击的元素并对该元素添加样式操作
2020/07/17 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
python中__slots__用法实例
2015/06/04 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
Python读取系统文件夹内所有文件并统计数量的方法
2018/10/23 Python
Python rstrip()方法实例详解
2018/11/11 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
Python操作Mongodb数据库的方法小结
2019/09/10 Python
比利时香水网上商店:NOTINO
2018/03/28 全球购物
Craghoppers德国官网:户外和旅行服装
2020/02/14 全球购物
父亲追悼会答谢词
2014/01/17 职场文书
旷课检讨书大全
2014/01/21 职场文书
求职者怎样写自荐信
2014/04/13 职场文书
爱祖国演讲稿
2014/05/04 职场文书
党员四风剖析材料
2014/08/27 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
财政局个人总结
2015/03/04 职场文书