js部分javascript
/** * 验证用户名 */ $.extend($.fn.validatebox.defaults.rules, { userName : { validator : function(value, param) { //console.log(value);这里就是用户实时输入的内容 //获取当前修改项目的id,用于在controller判断,若是有id就是修改,没有就是新增 var empid = $("#empid").val(); var haha = ""; $.ajax({ type : 'post', //false为发送同步请求 async : false, //发送请求的url url : '/employee/checkName', //发送的数据 data : { "username" : value, "id":empid }, success : function(data) { haha = data; console.log(data); } }); return haha.success; }, message : '用户名已经被占用' } });
htmlhtml
<tr> <td>用户名:</td> <td><input id="inputName" class="easyui-textbox" type="text" name="username" data-options="required:true,validType:'userName'"></input></td> </tr>
java部分java
/** * 验证用户名 * @param username * @return */ @RequestMapping("/checkName") @ResponseBody public AjaxResult checkName(String username,Long id){ //根据用户输入的用户名取查找 Employee employee = employeeService.findByUsername(username); //若是id不为null,就证实是修改 if (id != null) { //若是根据id查找的用户名和传入的用户名不一致,就进行 if (employeeService.findById(id).getUsername().equals(username)){ return new AjaxResult(); } } //不然,id为null //若是查到的对象为null,说明该用户不存在,那么名字就可以使用 if (employee == null) { return new AjaxResult();//若是没有查到对象,用户名可使用 }else { return new AjaxResult(false,"用户名被占用"); } }