Validate.js
Html页面使用情况
验证字段是否唯一
后台代码
html页面验证
$.extend($.fn.validatebox.defaults.rules,{ CHS : { validator : function(value, param) { return /^[\u0391-\uFFE5]+$/.test(value); }, message : '请输入汉字' }, ZIP : { validator : function(value, param) { return /^[1-9]\d{5}$/.test(value); }, message : '邮政编码不存在' }, QQ : { validator : function(value, param) { return /^[1-9]\d{4,10}$/.test(value); }, message : 'QQ号码不正确' }, mobile : { validator : function(value, param) { return /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/ .test(value); }, message : '手机号码不正确' }, doubleNumber : { validator : function(value, param) { return /^[-+]?\d+(\.\d+)?$/.test(value); }, message : '只能是数字小数点负号' }, TaskpointName : { validator : function(value, param) { return !/^[\"&?%#$]*$/.test(value); }, message : '名称不允许</br>输入双引号、&、?、%、#、$。' }, loginName : { validator : function(value, param) { return /^[\u0391-\uFFE5\w]+$/.test(value); }, message : '名称只允许汉字</br>字母、数字及下划线。' } });
Html页面使用情况
<!--doubleNumber就是Js验证类型 同时要引入该Js -->
<td><input id="xxx" name="xx" validType="doubleNumber" /></td>
验证字段是否唯一
/** * 字段的唯一性校验 * validType="unique['findValidationMarkernumber.do','add','','id',true,'输入值已存在']" * 第一个参数:请求的url; * 第二个参数:add/update;新增为add,修改为update,新增修改用同一页面时为update; * 第三个参数:是hidden的id;新增时为空,修改时在页面中加一个hidden(只要id属性不要name属性),在加载时给hidden赋值 * 第四个参数:要验证的表的字段或实体属性 * 第五个参数:ture/false;true:要求不存在数据但是库中有数据;false:要求存在但是数据库中没有数据 * 第六个参数:提示信息内容 * 第七个参数:实体名称 * @param {Object} value * @param {Object} param * @memberOf {TypeName} * @return {TypeName} */ $.extend($.fn.validatebox.defaults.rules,{ unique: { validator: function(value, param){ if(!(param.length != 5 || param.length != 6)){ this.message = "参数个数配置错误"; return false; } var url = param[0]; var type = param[1],controlId = param[2],msg = ""; if(type != "" && controlId != ""){ var controlValue = $("#"+controlId).val(); if(type == "update" && controlValue != ""){ if(value == controlValue){ return true; } } } var flag = param[4]; if(param.length == 5){ msg = flag ? "输入值已存在" : "输入值不存在"; $("#submit").removeAttr("disabled"); }else{ msg = param[5]; } var response = $.ajax({ url:url, type:"post", datatype:"json", async:false, data:{ "fieldname" : param[3], "fieldvalue" : value, "entityName" : param[6] } }).responseText; var b = $.parseJSON(response); //exists if(flag){ if (b == "1" || b == true) { this.message = msg; $("#submit").removeAttr("disabled"); return false; } else{ return true; } }else{ // not exists if (b == "1" || b == true) { return true; } else{ this.message = msg; return false; } } }, message: '输入值已存在' } });
后台代码
/**
*
*@User :Test
*@date :2014-5-17 上午11:14:27
*@return :String
*@userFor : Controller
*/
@RequestMapping(value = "/isRepeat")
@ResponseBody
public String isRepeat(HttpServletRequest request){
String fieldname = request.getParameter("fieldname");
String fieldvalue = request.getParameter("fieldvalue");
String entityName= request.getParameter("entityName");
//标志位用于区别新增和修改
String flag = request.getParameter("flag");
return xxService.countField(fieldname,fieldvalue,flag,entityName);
}
/**
*
*@User :Test
*@date :2014-5-17 上午13:14:27
*@return :String
*@userFor : Service
*/
public String countField(String fieldname,String fieldvalue,String flag,String entityName){
int size = this.xxDao.checkRepeat(fieldname, fieldvalue,flag,entityName);
if(size==0)
return "0";
return "1";
}
/**
*
*@User :Tesr
*@date :2014-6-17 下午03:42:53
*@return :int
*@userFor :xxDao判断是否唯一
*/
public int checkRepeat(String fieldname,String fieldvalue,String flag,String entityName){
String hql = " from "+entityName+" where 1=1 and x.historicalstate=1";
if("add".equals(flag))
{
hql+= " and x."+fieldname+" ='"+fieldvalue+"' ";
}
else
{
hql+= " and x."+fieldname+" ='"+fieldvalue+"' and x."+fieldname+" !='"+flag+"'";
}
return find(hql).size();
}
html页面验证
<td><input id="markernumber" validType="unique['isRepeat.do','add','','字段名',true,'该XX已存在','实体名']" /></td>