BootStrap+Mybatis框架下实现表单提交数据重复验证


Posted in Javascript onMarch 23, 2017

效果:

BootStrap+Mybatis框架下实现表单提交数据重复验证

BootStrap+Mybatis框架下实现表单提交数据重复验证

jsp页面:

<form class="form-horizontal lui-tj-bd" id="dbc_code_add_form" method="post">
<div class="row">
<div class="col-xs-12">
<!-- PAGE CONTENT BEGINS -->
<div class="tabbable">
<div class="space-12"></div>
<div class="profile-user-info profile-user-info-striped">
<div class="profile-info-row">
<div class="profile-info-name" > 版本号<font color="red">*</font></div>
<div class="profile-info-value">
<input type="hidden" value="${list.id}" name="id" class="col-xs-12 col-sm-9" />
<input type="hidden" value="${list.versionCode}" id="oldversionCode" name="oldversionCode" class="col-xs-12 col-sm-9" />
<input type="text" value="${list.versionCode}" id="versionCode" name="versionCode" class="col-xs-12 col-sm-9" />
</div>
</div>
<div class="profile-info-row">
<div class="profile-info-name" > 版本名称<font color="red">*</font></div>
<div class="profile-info-value">
<input type="hidden" value="${list.versionName}" id="oldversionName" name="oldversionName" class="col-xs-12 col-sm-9" />
<input type="text" value="${list.versionName}" id="versionName" name="versionName" class="col-xs-12 col-sm-9"/>
</div>
</div>
<div class="profile-info-row">
<div class="profile-info-name" > 上传应用程序<font color="red">*</font></div>
<div class="profile-info-value">
<input type="file" name="file_upload" id="file_upload" />
</div>
</div>
<div class="profile-info-row ">
<div class="profile-info-name"> 下载地址<font color="red">*</font> </div>
<div class="profile-info-value">
<span class="editable editable-click">
<input type="text" id="downloadUrl" name="downloadUrl" class="col-xs-12 col-sm-9" readonly="readonly" value="${list.downloadUrl}" />
</span>
</div>
</div>
<div class="profile-info-row">
<div class="profile-info-name" > 更新备注<font color="red">*</font></div>
<div class="profile-info-value">
<textarea class="col-sm-9 col-xs-12 " rows="5" id="updateLog" name="updateLog" >${list.updateLog}</textarea>
</div>
</div>
</div>
<div class="space-24"></div>
<div>
<div class=" col-md-offset-2 col-md-9 col-xs-12">
<div class=" col-xs-6">
<button class="btn btn-sm btn-success" type="button" id="saveButton2" style="float:right;" onclick="tobaocun()">
<i class="ace-icon fa fa-check "></i>保存
</button>
</div>
<button class="btn btn-sm btn-purple" type="reset">
<i class="ace-icon fa fa-undo "></i> 重置
</button>
</div>
</div>
</div>
</div>
</div>
</form>

js:

ace.load_ajax_scripts(scripts, function () {
 jQuery(function ($) {
 //验证
  $("#dbc_code_add_form").validate({
 rules: {
 'versionCode': {
 required: true,
 maxlength:20,
  remote:{
 type:"post",
 dataType:"json",
 data:{versionCode:function () { return $("#versionCode").val();},
 oldversionCode:function () { return $("#oldversionCode").val();}
 },
 url:"${base}/admin/road/app/validateversionCode.do"
   }
 },
 'versionName': {
 required: true,
 maxlength:40,
 remote:{
 type:"post",
 dataType:"json",
 data:{versionName:function () { return $("#versionName").val();},
 oldversionName:function () { return $("#oldversionName").val();}
 },
 url:"${base}/admin/road/app/validateversionName.do"
   }
 },
 'updateLog': {
 required: true,
 maxlength:125
 }
 },
 messages:{
 'versionCode':{
 required: "<font color='#d16e6c'>必填</font>",
 remote:"<font color='#d16e6c'>版本号重复</font>",
 maxlength:"<font color='#d16e6c'>最大不能超过10位</font>"
 },
 'versionName':{
 required: "<font color='#d16e6c'>必填</font>",
 remote:"<font color='#d16e6c'>版本名称重复</font>",
 maxlength:"<font color='#d16e6c'>最大不能超过40位</font>"
 },
 'updateLog':{
 required: "<font color='#d16e6c'>必填</font>",
 maxlength:"<font color='#d16e6c'>最大不能超过120位</font>"
 }
 }
 });
 });
});

controller控制层:

@RequestMapping(value="/validateversionCode",method=RequestMethod.POST)
 @ResponseBody
 public boolean validateversionCode(@RequestParam("versionCode")String versionCode,
 @RequestParam("oldversionCode")String oldversionCode){
 if(!versionCode.equals(oldversionCode)||StringUtils.isEmpty(oldversionCode)){
 boolean isOk = appversionService.validateversionCode(versionCode);
 return isOk;
 }
 return true;
 }
@RequestMapping(value="/validateversionName",method=RequestMethod.POST)
 @ResponseBody
 public boolean validateversionName(@RequestParam("versionName")String versionName,
 @RequestParam("oldversionName")String oldversionName){
 if(!versionName.equals(oldversionName)||StringUtils.isEmpty(oldversionName)){
 boolean isOk = appversionService.validateversionName(versionName);
 return isOk;
 }
 return true;
 }

service服务层

@Override
public boolean validateversionCode(String versionCode){
int count = dbcAppVersionMapper.validateversionCode(versionCode);
return (count>0)?false:true;
}
@Override
public boolean validateversionName(String versionName){
int count = dbcAppVersionMapper.validateversionName(versionName);
return (count>0)?false:true;
}

dao 层

int validateversionCode(@Param("versionCode")String versionCode);
int validateversionName(@Param("versionName")String versionName);

mapper.xml

<!-- APP版本名称验证-->
 <select id="validateversionName" resultType="java.lang.Integer">
select 
count(id)
from dbc_app_version
where VERSION_NAME=#{versionName}
</select>
<!-- APP版本号验证-->
 <select id="validateversionCode" resultType="java.lang.Integer">
select 
count(id)
from dbc_app_version
where VERSION_CODE=#{versionCode}
</select>

关于bootstrap专题大家可以参考下:

以上所述是小编给大家介绍的BootStrap框架下实现表单提交数据重复验证,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery数据显示插件整合实现代码
Oct 24 Javascript
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
May 23 Javascript
JQuery 常用方法和事件详细介绍
Apr 18 Javascript
jquery简单图片切换显示效果实现方法
Jan 14 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
Jun 21 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
Jul 27 Javascript
详解angular2封装material2对话框组件
Mar 03 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
Aug 28 Javascript
vue.js如何将echarts封装为组件一键使用详解
Oct 10 Javascript
Vue.js添加组件操作示例
Jun 13 Javascript
微信小程序错误this.setData报错及解决过程
Sep 18 Javascript
JavaScript实现登录窗体
Jun 22 Javascript
jquery实现全选、全不选以及单选功能
Mar 23 #jQuery
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 #jQuery
纯jQuery实现前端分页功能
Mar 23 #jQuery
vue双向绑定简要分析
Mar 23 #Javascript
Javascript面试经典套路reduce函数查重
Mar 23 #Javascript
JQuery 进入页面默认给已赋值的复选框打钩
Mar 23 #jQuery
vue.js实现含搜索的多种复选框(附源码)
Mar 23 #Javascript
You might like
十大使用PHP框架的理由
2015/09/26 PHP
CI框架常用方法小结
2016/05/17 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
CI框架常用函数封装实例
2016/11/21 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
JavaScript XML实现两级级联下拉列表
2008/11/10 Javascript
JQuery 选项卡效果(JS与HTML的分离)
2010/04/01 Javascript
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
2013/04/11 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
javascript 注释代码的几种方法总结
2017/01/04 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
vue父子组件的嵌套的示例代码
2017/09/08 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
JS中间件设计模式的深入探讨与实例分析
2020/04/11 Javascript
[01:20:06]TNC vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中使用HTMLParser解析html实例
2015/02/08 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
自定义django admin model表单提交的例子
2019/08/23 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
Python爬虫爬取糗事百科段子实例分享
2020/07/31 Python
html5适合移动应用开发的12大特性
2014/03/19 HTML / CSS
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
Java的五个基础面试题
2016/02/26 面试题
高中考试作弊检讨书
2014/01/14 职场文书
经营理念标语
2014/06/21 职场文书
PyTorch的Debug指南
2021/05/07 Python
python3实现无权最短路径的方法
2021/05/12 Python
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang
python基础之类属性和实例属性
2021/10/24 Python
星际争霸:毕姥爷vs解冻01
2022/04/01 星际争霸