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 相关文章推荐
一些易混淆且不常用的属性,希望有用
Jan 29 Javascript
PHP 与 js的通信(via ajax,json)
Nov 16 Javascript
js中escape对应的C#解码函数 UrlDecode
Dec 16 Javascript
javascript从右边截取指定字符串的三种实现方法
Nov 29 Javascript
动态加载js、css等文件跨iframe实现
Feb 24 Javascript
js窗口关闭提示信息(兼容IE和firefox)
Oct 23 Javascript
javascript获取以及设置光标位置
Feb 16 Javascript
利用JavaScript实现栈的数据结构示例代码
Aug 02 Javascript
自定义PC微信扫码登录样式写法
Dec 12 Javascript
Vue表单之v-model绑定下拉列表功能
May 14 Javascript
详解Vue中组件传值的多重实现方式
Aug 16 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
Dec 24 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 Memcache 中实现消息队列
2009/11/24 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
php使用curl模拟多线程实现批处理功能示例
2019/07/25 PHP
比Jquery的document.ready更快的方法
2010/04/28 Javascript
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
jQuery取消ajax请求的方法
2015/06/09 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
vue注册组件的几种方式总结
2018/03/08 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
vue自动路由-单页面项目(非build时构建)
2019/04/30 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
Python多线程编程(五):死锁的形成
2015/04/05 Python
Python实现股市信息下载的方法
2015/06/15 Python
python实现的系统实用log类实例
2015/06/30 Python
Python 中的lambda函数介绍
2018/10/10 Python
Python数据可视化实现正态分布(高斯分布)
2019/08/21 Python
Django values()和value_list()的使用
2020/03/31 Python
Python内置函数locals和globals对比
2020/04/28 Python
python实现npy格式文件转换为txt文件操作
2020/07/01 Python
python 删除excel表格重复行,数据预处理操作
2020/07/06 Python
HTML5 placeholder属性详解
2016/06/22 HTML / CSS
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
Java里面有没有全局变量?为什么?
2015/02/06 面试题
HSRP的含义以及如何工作
2014/09/10 面试题
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
音乐器材管理制度
2014/01/31 职场文书
银行转正自我鉴定
2014/09/29 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
小学运动会入场口号
2015/12/24 职场文书
新手初学Java List 接口
2021/07/07 Java/Android