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获取服务器时间的两个简单方法
Jan 08 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
Mar 03 Javascript
jQuery插件kinMaxShow扩展效果用法实例
May 04 Javascript
js实现键盘Enter键提交表单的方法
May 27 Javascript
jQuery中使用animate自定义动画的方法
May 29 Javascript
Vue.js每天必学之构造器与生命周期
Sep 05 Javascript
微信小程序 实例应用(记账)详解
Sep 28 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
Nov 22 Javascript
AngularJS自定义控件实例详解
Dec 13 Javascript
qrcode生成二维码微信长按无法识别问题的解决
Apr 04 Javascript
js module大战
Apr 19 Javascript
jquery实现手风琴案例
May 04 jQuery
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
PDO预处理语句PDOStatement对象使用总结
2014/11/20 PHP
Laravel 5.3 学习笔记之 配置
2016/08/28 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
javascript 判断数组是否已包含了某个元素的函数
2010/05/30 Javascript
jQuery load方法用法集锦
2011/12/06 Javascript
jQuery对val和atrr(&quot;value&quot;)赋值的区别介绍
2014/09/26 Javascript
javascript数组详解
2014/10/22 Javascript
JavaScript极简入门教程(一):基础篇
2014/10/25 Javascript
JQuery勾选指定name的复选框集合并显示的方法
2015/05/18 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
2016/07/07 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
2017/01/11 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
python中将字典转换成其json字符串
2014/07/16 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
Python 面试中 8 个必考问题
2018/11/16 Python
详解Python基础random模块随机数的生成
2019/03/23 Python
python manage.py runserver流程解析
2019/11/08 Python
python基于event实现线程间通信控制
2020/01/13 Python
pymongo insert_many 批量插入的实例
2020/12/05 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
Canvas 帧动画吃苹果小游戏
2020/08/05 HTML / CSS
2014年高考决心书
2014/03/11 职场文书
幼儿园父亲节活动方案
2014/03/11 职场文书
英文升职感谢信
2015/01/23 职场文书
欢迎词怎么写
2015/01/23 职场文书
毕业赠语大全
2015/06/23 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers