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 相关文章推荐
javascript 按回车键相应按钮提交事件
Nov 02 Javascript
基于JQuery.timer插件实现一个计时器
Apr 25 Javascript
详解Javascript 装载和执行
Nov 17 Javascript
15款jQuery分布引导插件分享
Feb 04 Javascript
手动初始化Angular的模块与控制器
Dec 26 Javascript
JS实现带动画的回到顶部效果
Dec 28 Javascript
vue移动端微信授权登录插件封装的实例
Aug 28 Javascript
Vue CL3 配置路径别名详解
May 30 Javascript
前端Vue项目详解--初始化及导航栏
Jun 24 Javascript
这样回答继承可能面试官更满意
Dec 10 Javascript
vue用ant design中table表格,点击某行时触发的事件操作
Oct 28 Javascript
ant design charts 获取后端接口数据展示
May 25 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编程实现获取excel文档内容的代码实例
2011/06/28 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
php+mysqli使用面向对象方式更新数据库实例
2015/01/29 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
用js实现输入提示(自动完成)的实例代码
2013/06/14 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
vue仿淘宝订单状态的tab切换效果
2020/06/23 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
js实现特别简单的钟表效果
2020/09/14 Javascript
[02:20]DOTA2英雄基础教程 黑暗贤者
2013/12/19 DOTA
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
python编写暴力破解zip文档程序的实例讲解
2018/04/24 Python
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
python抓取网页内容并进行语音播报的方法
2018/12/24 Python
浅谈Python爬虫基本套路
2019/03/25 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
类的返射机制中的包及核心类
2016/09/12 面试题
酒店个人求职信范文
2014/01/25 职场文书
大型会议策划方案
2014/05/17 职场文书
电子商务实训报告总结
2014/11/05 职场文书
关爱空巢老人感想
2015/08/11 职场文书
关于环保的广播稿
2015/12/17 职场文书
SQL写法--行行比较
2021/08/23 SQL Server
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸