html:

 <div class="form-group">
<label for="username" class="control-label col-md-3 col-sm-4">账号</label>
<div class="col-md-9 col-sm-8">
<div class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-user"></span></span>
<input type="text" class="form-control" id="username" name="username" placeholder="请输入昵称"/>
</div>
</div>
</div>

js:

 <script type="text/javascript">
$(function () {
//alert(123)
$("#regist_form").bootstrapValidator({
live: 'enabled', //验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
excluded: [':disabled', ':hidden', ':not(:visible)', ':file'], //排除无需验证的控件,比如被禁用的或者被隐藏的
submitButtons: '#reg-btn', //指定提交按钮,如果验证失败则变成disabled,按钮变灰色
message: '通用的验证失败消息', //好像从来没出现过
feedbackIcons: { //根据验证结果显示的各种图标
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove', //小叉号
validating: 'glyphicon glyphicon-refresh'
},
fields: {
username: {
verbose: false, //代表验证按顺序验证。验证成功才会下一个(验证成功才会发最后一个remote远程验证)
validators: {
notEmpty: {
message: '账号不能为空'
},
stringLength: {
min: 6,
max: 30,
message: '账号长度必须在6到30之间'
},
threshold: 6,//有6字符以上才发送ajax请求 remote: { //ajax验证。server result:{"valid",true or false} (返回前台类型)
url: "stu-exist",
message: '用户名已存在,请重新输入',
delay: 500, //ajax刷新的时间是0.5秒一次
type: 'POST',
//自定义提交数据,默认值提交当前input value
/*data: function (validator) {
return {
userName: $("input[name=userName]").val(),
//method: "stuIsExist" //UserServlet判断调用方法关键字。 };
}*/
},
}
},
} });
})
</script>

StuService:

 //验证账号是否存在(用户注册)
Boolean stuIsExist(String username);

StuServiceImpl:

     /**
* @Description //验证账号是否存在
* @Date 2019-04-01 17:39
* @Param [username]
* @return java.lang.Boolean
**/
@Override
public Boolean stuIsExist(String username) { UserExample userExample = new UserExample();
UserExample.Criteria criteria = userExample.createCriteria();
criteria.andUsernameEqualTo(username);
List<User> userList = userMapper.selectByExample(userExample);
if (userList.isEmpty()) {
return true;
} else {
return false;
} }

RegisterController.java:

     /**
* @Description //验证账号是否存在
* @Date 2019-04-01 17:43
* @Param [username]
* @return java.util.Map<java.lang.String,java.lang.Boolean>
**/
@PostMapping("stu-exist")
@ResponseBody
public Map<String,Boolean> stuIsExist(String username){
Boolean stuIsExist = stuService.stuIsExist(username);
Map<String,Boolean> map = new HashMap<String,Boolean>(); //map.put("valid",true);
if (stuIsExist){
map.put("valid",true);
}else {
map.put("valid",false);
} System.out.println(username+map);
return map;
}

BootStrap表单验证用户名重复的更多相关文章

  1. bootstrapValidator.js,最好用的bootstrap表单验证插件

    前言:做Web开发的我们,表单验证是再常见不过的需求了.友好的错误提示能增加用户体验.博主搜索bootstrap表单验证,搜到的结果大部分都是文中的主题:bootstrapvalidator.今天就来 ...

  2. 基于Bootstrap表单验证

    基于Bootstrap表单验证 GitHub地址:https://github.com/chentangchun/FormValidate 使用方式: 1.CSS样式 .valierror { bor ...

  3. bootstrapValidator.js,最好用的bootstrap表单验证插件 简单实用方法

    实用方法 1.引入 在有jquery和bootstrap的页面里引入bootstrapValidator.js和bootstrapValidator.css文件 2. 按照bootstrap的表单组件 ...

  4. bootStrap表单验证插件的使用

    bootStrapValidator插件的使用 1.插件的下载和引用 首先要引入bootstrapValidator插件.链接的地址:https://www.bootcdn.cn/jquery.boo ...

  5. Bootstrap表单验证插件bootstrapValidator使用方法整理

    插件介绍 先上一个图: 下载地址:https://github.com/nghuuphuoc/bootstrapvalidator 使用方法:http://www.cnblogs.com/huangc ...

  6. Bootstrap表单验证

    主要用过两个: jqBootstrapValidation: https://github.com/ReactiveRaven/jqBootstrapValidation bootstrapValid ...

  7. bootstrap 表单验证 dem

    地址:http://www.jq22.com/yanshi522 一些api详解:http://blog.csdn.net/u013938465/article/details/53507109 ht ...

  8. 黄聪: Bootstrap之Form表单验证神器: BootstrapValidator(转)

    前言:做Web开发的我们,表单验证是再常见不过的需求了.友好的错误提示能增加用户体验.博主搜索bootstrap表单验证,搜到的结果大部分都是文中的主题:bootstrapvalidator.今天就来 ...

  9. Bootstrap之Form表单验证神器: BootstrapValidator(转)

    前言:做Web开发的我们,表单验证是再常见不过的需求了.友好的错误提示能增加用户体验.博主搜索bootstrap表单验证,搜到的结果大部分都是文中的主题:bootstrapvalidator.今天就来 ...

随机推荐

  1. JS判断一个数是否为质数

    function isPrime(number) { if (typeof number !== 'number' || number<2) { // 不是数字或者数字小于2 return fa ...

  2. java和c#中的装箱和拆箱操作

    c#装箱和拆箱 装箱:整体上来说,装箱是将值类型转换成引用类型,比如将Vector3转换成Object类型. 具体而言: 1)在托管堆中为值类型分配内存.除了原始的数值以外还应该有指向该数值的引用. ...

  3. String 中常用的几种方法

    /* String(char[] value)传递字符数组 将字符数组转换为字符串 字符数组不查询编码表 */ public static void fun1(){ char[] ch = {'a', ...

  4. Python网络编程之socket编程

    什么是Socket? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面 ...

  5. InnoDB和MyISAM的区别

    一.索引的实现 我们都知道InnoDB和MyISAM都是B+数的结构,但是它们的实现有点不一样,直接上图: 因此,MyISAM的查询性能会比InnoDB强 如果用InnoDB是必须有主键的,主键建议用 ...

  6. Kubernetes之POD

    什么是Pod Pod是可以创建和管理Kubernetes计算的最小可部署单元.一个Pod代表着集群中运行的一个进程. Pod就像是豌豆荚一样,它由一个或者多个容器组成(例如Docker容器),它们共享 ...

  7. HDFS 概述

    定义 HDFS(Hadoop Distributed File System)是分布式文件管理系统中的一种,用来管理多台机器上的文件,通过目录树来定位文件. 由很多服务器联合起来实现其功能,集群中的服 ...

  8. 设计模式---状态变化模式之备忘录模式(Memento)

    一:概念 用于保存对象的内部状态,并在需要的时候(undo/rollback)回复对象以前的状态 二:应用场景 如果一个对象需要保存状态并可通过undo或rollback等操作恢复到以前的状态时,可以 ...

  9. css3 实现波浪(wave)效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. .net导出Excel几种方式比较

    数据原共400条数据,21列,我是双核cpu,4G内存1. Excel com组件要3秒左右,上千条30秒+这种方法比较慢,要引用Microsoft.Office.Interop.Excel #reg ...