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 相关文章推荐
jquery 操作单选框,复选框,下拉列表实现代码
Oct 27 Javascript
js获取指定的cookie的具体实现
Feb 20 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
Nov 23 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
Apr 06 Javascript
利用JS实现简单的日期选择插件
Jan 23 Javascript
Javascript基础回顾之(一) 类型
Jan 31 Javascript
原生JS实现的简单小钟表功能示例
Aug 30 Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
Apr 26 Javascript
javascript中this的用法实践分析
Jul 29 Javascript
JS使用正则表达式实现常用的表单验证功能分析
Apr 30 Javascript
Nuxt配置Element-UI按需引入的操作方法
Jul 06 Javascript
Javascript执行上下文顺序的深入讲解
Nov 04 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 类自动载入的方法
2015/06/03 PHP
php微信高级接口群发 多客服
2016/06/23 PHP
PHP多维数组排序array详解
2017/11/21 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
setTimeout与setInterval在不同浏览器下的差异
2010/01/24 Javascript
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
javascript jq 弹出层实例
2013/08/25 Javascript
Node.js和PHP根据ip获取地理位置的方法
2014/03/14 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
Uploadify上传文件方法
2016/03/16 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
chrome浏览器如何断点调试异步加载的JS
2016/09/05 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
JavaScript实现无限级递归树的示例代码
2019/03/29 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
vue $set 给数据赋值的实例
2019/11/09 Javascript
基于javascript实现碰撞检测
2020/03/12 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
详解Django中六个常用的自定义装饰器
2018/07/04 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
python 函数中的内置函数及用法详解
2019/07/02 Python
python实现广度优先搜索过程解析
2019/10/19 Python
Django之form组件自动校验数据实现
2020/01/14 Python
Python continue语句实例用法
2020/02/06 Python
使用PyCharm官方中文语言包汉化PyCharm
2020/11/18 Python
成语的广告词
2014/03/19 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
个人委托函范文
2015/01/29 职场文书
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书
Apache压力测试工具的安装使用
2021/03/31 Servers
CSS完成视差滚动效果
2021/04/27 HTML / CSS
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers