BootStrap智能表单实战系列(七)验证的支持


Posted in Javascript onJune 13, 2016

但凡是涉及到用户编辑信息然后保存的页面,都涉及到一个数据是否符合要求的检查,需要客服端和服务器端的校验的问题;

客服端的校验主要是为了提高用户体验,而服务器端的校验为了数据的合格性

该插件也为您支持到了表单验证,在需要验证的列的配置中加一项required:true 再生成表单元素前面的label的时候会自动在label前面生成一个*,用于提示 改列数据会进行校验

验证是使用了jquery validation,具体使用方式请参照jquery validation的api

代码如下(页面地址:https://github.com/xiexingen/Bootstrap-SmartForm/blob/master/demo/form5-Validation.html):

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单验证</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../css/bootstrap.css">
<!--自定义站点样式-->
<link rel="stylesheet" href="../css/site.css">
<script src="../lib/jquery.js"></script>
<script src="../lib/jquery.validate.js"></script>
<script src="../lib/bootstrap.js"></script>
<!--工具方法-->
<script src="../scripts/global.js"></script>
<!--插件-->
<script src="../scripts/plugin.js"></script>
</head>
<body>
<div class="panel panel-default">
<div class="panel-heading">
<label>带验证的智能表单</label>
<div class="pull-right">
<button id="btnSubmit" class="btn btn-primary btn-xs">提交表单</button>
</div>
</div>
<div class="panel-body">
<form action="#" id="formContainer" class="form form-horizontal"></form>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading"><label>介绍</label></div>
<div class="panel-body">
<h3 class="lead">表单的验证</h3>
<blockquote>
<p>使用jquery validation验证,其他验证方法请参考jquery validation,自定义验证global.Fn.setDefaultValidator()方法在global.js文件中,改文件属于工具文件,里面定义了很多工具方法,包括表单序列化、日期格式化、数组判断、设置默认验证、显示消息、弹窗、初始化插件、初始化表单、文件下载、表单保存等</p>
</blockquote>
</div>
</div>
<script>
$(function () {
var eles=[
[
{label:{text:'自定义用户名:'},ele:{type:'text',name:'UserName',title:'用户名:',required:true}},
{ele:{type:'radio',name:'sex',title:'性别:',items:[{text:'男',value:1},{text:'女',value:2}]}},
{ele:{type:'checkbox', name:'plant',title:'使用平台:',items:[{text:'APP',value:'app'},{text:'web',value:'web'}]}} 
],
[
{ele:{type:'select',name:'province',title:'省份:',withNull:true,items:[{text:'广东',value:'GD'},{text:'湖南',value:'HN'}]}},
{ele:{pre:{text:'<input type="radio">'},type:'text',name:'displayName',title:'显示名称:'}},
{ele:{type:'search',title:'产品',id:'ProductName',required:true}}
],
[
{ele:{type:'datetime',name:'FromeDate',title:'有效期:'}},
{ele:{type:'datetime',name:'ToDate',title:'~'}},
]
];
//隐藏表单元素主要用于编辑时候后台可以区别开来
var hides = [{ id: 'primaryKey' }];
var bsForm = new BSForm({ eles: eles, hides: hides, autoLayout: '1,3' }).Render('formContainer',function(bf){
var model={primaryKey:1,UserName:'xxg',sex:1,plant:['app','web'],province:'GD',displayName:'TEST',ProductName:'笔记本',FromeDate:'2015-06-10',ToDate:'2015-08-08'};
bf.InitFormData(model);
});
$("#btnSubmit").bind('click',function () {
if (!$("#formContainer").valid()) {
alert("验证没通过!");
}
else{
var postData=bsForm.GetFormData();
alert("获取到的表达数据为:"+JSON.stringify(postData)); 
}
});
//使用自定义配置的验证样式处理
global.Fn.setDefaultValidator();
//定义验证规则
$("#formContainer").validate({
rules:{
UserName:{
required:true,
minlength:3,
maxlength:10
},
ProductName:{required:true}
}
});
});
</script>
</body></html>

代码中为UserName列配置了必填和长度验证,运行界面将UserName的值删除,提交表单可以看到效果:

效果图如下:

BootStrap智能表单实战系列(七)验证的支持

Javascript 相关文章推荐
有关于eclipse配置spket需要注意的一些地方
Apr 07 Javascript
Node.js中使用mongoskin操作mongoDB实例
Sep 28 Javascript
Javascript代码实现仿实例化类
Apr 03 Javascript
深入分析下javascript中的[]()+!
Jul 07 Javascript
JavaScript获取浏览器信息的方法
Nov 20 Javascript
layer弹出层中H5播放器全屏出错的解决方法
Feb 21 Javascript
webpack学习--webpack经典7分钟入门教程
Jun 28 Javascript
利用node.js如何创建子进程详解
Dec 09 Javascript
JavaScript实现多重继承的方法分析
Jan 09 Javascript
Vue.js 踩坑记之双向绑定
May 03 Javascript
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
Python版实现微信公众号扫码登陆
May 28 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
Jun 13 #Javascript
js 截取或者替换字符串中的数字实现方法
Jun 13 #Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
Jun 13 #Javascript
BootStrap智能表单实战系列(四)表单布局介绍
Jun 13 #Javascript
JS/jQ实现免费获取手机验证码倒计时效果
Jun 13 #Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
Jun 13 #Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
Jun 13 #Javascript
You might like
php preg_replace替换实例讲解
2013/11/04 PHP
提高网站性能之 如何对待JavaScript
2009/10/31 Javascript
javascript 动态生成私有变量访问器
2009/12/06 Javascript
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
基于jquery的checkbox下拉框插件代码
2010/06/25 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
js漂浮广告实现代码
2015/08/15 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
vue如何引用其他组件(css和js)
2017/04/13 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
js数组常用最重要的方法
2018/02/04 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
JS使用Date对象实时显示当前系统时间简单示例
2018/08/23 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
vue轻量级框架无法获取到vue对象解决方法
2019/05/12 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
Python下的twisted框架入门指引
2015/04/15 Python
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
Python最火、R极具潜力 2017机器学习调查报告
2017/12/11 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
python中加背景音乐如何操作
2020/07/19 Python
HTML5 input元素类型:email及url介绍
2013/08/13 HTML / CSS
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
期末自我鉴定
2014/01/23 职场文书
酒店管理求职信
2014/06/09 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
预备党员转正材料
2014/12/19 职场文书
学生会工作感言
2015/08/07 职场文书
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python
浅谈sql_@SelectProvider及使用注意说明
2021/08/04 Java/Android
SQL写法--行行比较
2021/08/23 SQL Server
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB