bootstrapvalidator的简单校验【必填校验、长度校验、是否存在校验(remote)】
需求:输入框的"供应商编码"不能为空而且不能与数据库重复,供应商名称不能为空。
解决:
1.input如下
<input id="ssupplierNo" name="ssupplierNo" type="text"
class="form-control input-sm"
value="${supplierinfo.ssupplierNo}" 供应商编码 " />
2.js函数
jQuery(function() {
$('#Form').bootstrapValidator({
feedbackIcons : {
valid : 'glyphicon glyphicon-ok',
invalid : 'glyphicon glyphicon-remove',
validating : 'glyphicon glyphicon-refresh'
}
,
fields : {
ssupplierNo : {
validators : {
notEmpty : {
message : '供应商编码不能为空'
},
stringLength : {
max : 50,
message : '不超过50个字符'
}
,
remote:{
message:'供应商编码已经存在,请重新输入',
url:'<%=request.getContextPath()%>/apps/supplierInfo.do?method=checkSupplierNo',
delay:4000 /*使用延时异步调用服务端方法,4000即文本输入框静止4秒后调用服务端方法*/
}
}
},
ssupplierFullName : {
validators : {
notEmpty : {
message : '供应商名称不能为空'
},
stringLength : {
max : 50,
message : '不超过50个字符'
}
}
},
}
});
}
3.供应商编码唯一性校验控制层代码如下
/* 校验输入框的值是否已经存在 */
@RequestMapping(params = "method=checkSupplierNo")
public
@ResponseBody
JSONObject checkSupplierNo(HttpServletRequest request, ModelMap modelMap) {
String supplierNo = request.getParameter("ssupplierNo");//获取输入框的值
JSONObject result = new JSONObject();
try{
SupplierInfoQuery query = new SupplierInfoQuery();
query.setSsupplierNo(supplierNo);
List<SupplierInfo> supplierInfo_list =supplierInfoService.getSupplierInfosByQueryCriteria(0, Integer.MAX_VALUE, query);
if(supplierInfo_list.size()>0){//如果能查到值说明重复,返回false
result.put("valid", false);
}else{
result.put("valid", true);
}
}
catch (Exception ex) {
ex.printStackTrace();
logger.error(ex);
}
return result;
}
注意事项:
这里需要说明的是bootstrap的remote验证器需要的返回结果一定是json格式的数据 :
{"valid":false} //表示不合法,验证不通过
{"valid":true} //表示合法,验证通过
如果返回任何其他的值,页面验证将获取不到验证结果导致无法验证。
bootstrapvalidator的简单校验【必填校验、长度校验、是否存在校验(remote)】的更多相关文章
- vue+ElementUI项目中,上传控件为必填项,上传图片后清空提示信息
(ps:以下是我在项目中遇到得问题及解决方法,希望对你们有帮助.如果还有其他方法,可以留言,谢谢) 一个表单页面,使用element-ui中el-upload上传图片,此项为必填项,然后写了校验规则, ...
- lay-verify进行非必填项校验
它默认都验证了! 需要调整源码!form.js,layui.all.js this.config = { verify: { required: [/[\S]+/, "必填项不能为空&quo ...
- Uep必填字段校验
在开发中常常有必填字段, <span style="color:Red">*</span>服务地址:</td><hy:formfield ...
- Vue Elementui 表单必填项和非必填项label文字对齐的简单方式
1. 不好的方式 很长时间以来都是用改写form-item样式来使得必填项和非必填项保证label对齐,这样需要改写系统样式,还要在相应的item上引用,代码量增多,示例如下(不推荐) <tem ...
- andori 动画验证必填项
android项目开发过程中,都会碰到必填项的校验,最简单的就是利用Toast对用进行提示,感觉这种提示太不够人性化了,那么今天就来个带动画的,并可以将光标定位到必填项中. andorid动画Anim ...
- SpringBoot Validation参数校验 详解自定义注解规则和分组校验
前言 Hibernate Validator 是 Bean Validation 的参考实现 .Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的 ...
- Android5.1.1 - APK签名校验分析和修改源码绕过签名校验
Android5.1.1 - APK签名校验分析和修改源码绕过签名校验 作者:寻禹@阿里聚安全 APK签名校验分析 找到PackageParser类,该类在文件“frameworks/base/cor ...
- unigui 在单据中,某输入为必填项的 JS代码
给大家分享下在单据中,某输入为必填项,用红框标示的简单处理方法:UniSession.AddJS(UniEdit1.JSName+ '.el.setStyle({"border" ...
- struts系列:校验(一)XML校验和函数方法校验
一.jsp示例 <form action="login" method="post"> <div class="form-group ...
- 如何设置dedecms自定义表单必填项?
用dedecms自定义表单可以制作一个简单的预约系统,有些相关信息需要设置为必填项,比如联系方式,没有留下真实的电话或其他信息,以后要怎么联系到你的客户.那我们要如何设置织梦cms自定义表单必填项呢? ...
随机推荐
- springboot+mybatis-puls利用swagger构建api文档
项目开发常采用前后端分离的方式.前后端通过API进行交互,在Swagger UI中,前后端人员能够直观预览并且测试API,方便前后端人员同步开发. 在SpringBoot中集成swagger,步骤如下 ...
- 2018.5.11 B树总结
小结 B树:二叉树,每个结点只存储一个关键字,等于则命中,小于走左结点,大于 走右结点: B-树:多路搜索树,每个结点存储M/2到M个关键字,非叶子结点存储指向关键 字范围的子结点: 所有关键字在整颗 ...
- 普通Linux用户1分钟上手vi编辑器
*导读:普通用户只要花1分钟看第二部分即可.高级用户请忽略本文* 目录 1. 编辑器之战 2. vi的使用 2.1 vi的3个模式 2.2 vi的3个模式切换 2.3 vi最基本的命令 2.4 vi的 ...
- 尝试document.getElementById()失败
document.getElementById() document.getElementsByTagName() 电脑重启,新建文件后尝试成功
- JS写法 数值与字符串的相互转换 取字符中的一部分显示 正则表达规则
http://www.imooc.com/article/15885 正则表达规则 <script type="text/javascript"> </scrip ...
- 关于笔记本安装parrot和kali的一些问题(花屏,息屏,屏幕不能休眠)
新入手了个笔记本,还是想跟原来一样装回熟悉的kali环境中,结果我的天啊,这一路坑,简直了. 写下我遇到的问题吧,算是给大家提供一些解决方法. 1.安装kali和parrot出现无法引导的grub的情 ...
- centos7下安装nginx
1.yum install epel-release(安装epel(Extra Packages for Enterprise Linux)) 2.yum repolist(确保epel添加到yum的 ...
- [Mybatis]Mybatis 常用标签及功能整理
Mybatis中生成动态SQL的标签有四类,分别是: if choose (when, otherwise) trim (where, set) foreach 1.if 当需要动态生成where条件 ...
- python随机数学习笔记
#coding:utf-8 import random # random.randint(1,10)产生1,10的随机整数 for i in range(1,5): ranint = random.r ...
- python之jieba库
jieba “结巴”中文分词:做最好的 Python 中文分词组件 "Jieba" (Chinese for "to stutter") Chinese tex ...