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,"用戶名被佔用");
        }
    }
相關文章
相關標籤/搜索