$.extend($.fn.validatebox.defaults.rules, {
username: {
//value 就是你是输入框中输入的内容 这个函数必须返回一个布尔值
validator: function (value, param) {
//如果匹配结果为true,表示验证通过【输入的内容合法】,反之表示验证失败【输入的内容不合法】
return /^[a-zA-Z][a-zA-Z0-9_]{5,11}$/.test(value);
},
//下面是返回false的时候的提示消息
message: '用户名必须以字母开头,包含6-12位字母、数字、下划线.'
}, usernameUnique: {
validator: function (value, param) {
//取出employeeId的值:有值的时候表示修改员工,没值的时候表示新增员工
var employeeId = $("#employeeId").val();
var r = $.ajax({
url: '/employee/employeeUsernameUnique',
data: {username: value, id: employeeId},
async: false, //表示同步
dataType: "text",
type: "post"
}).responseText;
return r == "true";
},
//下面是返回false的时候的提示消息
message: '该用户名已被占用.'
}
});
<tr>
<td>用户名:</td>
<td><input name="username" class="easyui-validatebox"
data-options="required:true,validType:['username','usernameUnique']"
style="width: 200px;"></td>
</tr>
@ResponseBody
@RequestMapping("/employeeUsernameUnique")
public String employeeUsernameUniquer(String username, Long id) {
//根据名字查询数据条数
Integer count = service.findCountUsername(username);
if (id != null && id > 0) {
//根据id查询数据名字,这个名字就是编辑框的回显名字
List<Object> jpal = service.findByJpql("select e.username from Employee e where id=?1", id);
//查询到的数据的名字
if (jpal.get(0).equals(username) || count == 0) {
return "true";
}
return "false";
}
return null;
}