05.easyui发送同步请求验证用户名重复

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,"用户名被占用");
        }
    }
相关文章
相关标签/搜索