// 定义绩效项目新增表单的验证规则
$("#itemAddForm").validate({ignore : "",
rules : {
"obj.name" : {
required : true,
maxlength: 10,
remote : {
async : false,
url : ctx + "/tere/kpi-itemNameCheck.do?random=" + Math.random(),
type : "post",
dataType : "json",
data : {
name : function() {
return $("#itemAddForm").find("[name='obj.name']").val();
}
}
}
},
"obj.score" : {
required : true,
digits:true,
range:[1,100]
}
},
messages : {
"obj.name" : {
required : "名称不能为空",
maxlength : "名称不能超过10个字符(汉字算一个)",
remote : "名称已定义"
},
"obj.score" : {
required : "分值不能为空",
digits:"分值只能为数值类型",
range:"分值只能定义1-100之间"
}
},
highlight : function(element) {
$(element).closest('.form-group').addClass('has-error');
},
success : function(label) {
label.closest('.form-group').removeClass('has-error');
label.remove();
}
});
module
/**
* 验证绩效项目名称是否重复
* @param name
* @return
*/
@At("/tere/kpi-itemNameCheck")
public Object itemNameCheck(String name, Integer id) {
return kpiService.itemNameCheck(name, id);
}
service
/**
* 验证绩效项目名称是否重复服务
* @param name
* @return
*/
public boolean itemNameCheck(String name, Integer id) {
// 新增时的唯一性校验
if (null == id || id == 0) {
int count = dao().count(KpiItem.class, Cnd.where("name","=",name));
return count == 0;
}
// 编辑时的唯一性校验
else {
int count = dao().count(KpiItem.class, Cnd.where("name","=",name).and("id","!=", id));
return count == 0;
}
}