需求:输入框的"供应商编码"不能为空而且不能与数据库重复,供应商名称不能为空。

解决:

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)】的更多相关文章

  1. vue+ElementUI项目中,上传控件为必填项,上传图片后清空提示信息

    (ps:以下是我在项目中遇到得问题及解决方法,希望对你们有帮助.如果还有其他方法,可以留言,谢谢) 一个表单页面,使用element-ui中el-upload上传图片,此项为必填项,然后写了校验规则, ...

  2. lay-verify进行非必填项校验

    它默认都验证了! 需要调整源码!form.js,layui.all.js this.config = { verify: { required: [/[\S]+/, "必填项不能为空&quo ...

  3. Uep必填字段校验

    在开发中常常有必填字段, <span style="color:Red">*</span>服务地址:</td><hy:formfield ...

  4. Vue Elementui 表单必填项和非必填项label文字对齐的简单方式

    1. 不好的方式 很长时间以来都是用改写form-item样式来使得必填项和非必填项保证label对齐,这样需要改写系统样式,还要在相应的item上引用,代码量增多,示例如下(不推荐) <tem ...

  5. andori 动画验证必填项

    android项目开发过程中,都会碰到必填项的校验,最简单的就是利用Toast对用进行提示,感觉这种提示太不够人性化了,那么今天就来个带动画的,并可以将光标定位到必填项中. andorid动画Anim ...

  6. SpringBoot Validation参数校验 详解自定义注解规则和分组校验

    前言 Hibernate Validator 是 Bean Validation 的参考实现 .Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的 ...

  7. Android5.1.1 - APK签名校验分析和修改源码绕过签名校验

    Android5.1.1 - APK签名校验分析和修改源码绕过签名校验 作者:寻禹@阿里聚安全 APK签名校验分析 找到PackageParser类,该类在文件“frameworks/base/cor ...

  8. unigui 在单据中,某输入为必填项的 JS代码

     给大家分享下在单据中,某输入为必填项,用红框标示的简单处理方法:UniSession.AddJS(UniEdit1.JSName+ '.el.setStyle({"border" ...

  9. struts系列:校验(一)XML校验和函数方法校验

    一.jsp示例 <form action="login" method="post"> <div class="form-group ...

  10. 如何设置dedecms自定义表单必填项?

    用dedecms自定义表单可以制作一个简单的预约系统,有些相关信息需要设置为必填项,比如联系方式,没有留下真实的电话或其他信息,以后要怎么联系到你的客户.那我们要如何设置织梦cms自定义表单必填项呢? ...

随机推荐

  1. 64位ubuntu16.04系统安装tensorflow_cpu

    ubuntu16.04安装tensorflow_cpu 一.安装anaconda: ①.下载anaconda包:Anaconda3-5.2.0-Linux-x86_64.sh 这是python3.6. ...

  2. fiddler近期用到的一些新功能

    一,AutoResponder导出导入 将AutoResponder中的规则全部选中,右键选择 Export All,可以导出成rule.farx文件 导入时选择Add Rule右边的Import按钮 ...

  3. yaf twig配置

    1.安装 TWIG composer require twig/twig2.COMPOSER自动加载的引用修改 BOOTSTRAP.PHP 增加 public function _initAutolo ...

  4. day11.3分页操作divmod

    # 分页显示 divmod(被除数,除数) INFO_LIST = [] for i in range(836): template = "第%s天,笨笨先僧 always be there ...

  5. 在Windows下通过压缩包方式安装MySQL

    需求:下载MySQL有两种方法,一是下载可执行文件,通过点点点的方式,比较简单没什么技术含量,但是之前通过此方法下载的MySQL与Python进行连接交互的时候总是报1045错误,一直没找到原因,尝试 ...

  6. inno安装客户端,写注册表url调用客户端

    [Registry] Root: HKCR; SubKey: xxx; ValueData: "xxx"; ValueType: string; Flags: CreateValu ...

  7. MFC中给各个控件填充背景颜色的方法

    1.给程序设置大背景色,在OnPaint()函数中添加如下代码: CRect rect; CPaintDC dc(this); GetClientRect(rect); dc.FillSolidRec ...

  8. C# CRC - 16

    using System; static class Program { static void Main() { string input = "8000"; var bytes ...

  9. 第三章 C#程序结构 (3.3 循环结构)

    (1) while循环 当表达式为真,则执行下面的语句:语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句:然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环. [ ...

  10. 音频格式软件 GoldWave 支持V3

    版本:GoldWave v5.67 md5:36E78BE278908B6538CE24D41A6859BA sha1:36A00003562F071670588D29E573B2FB0D8FF40A ...