easyui-validatebox多重校验 带参数
- seanloo
- 2018-10-29
- 教程/笔记
- 3228浏览
- 0评论
easyui的validatebox提供了validType属性支持校验和多重校验。但是我们发现当检验方法需要传参数时,默认的多重校验就不支持了。
例如:
validType="["validateAdd['字典值重复','$.fn.validatebox.defaults.rules.validateLength',100]",'textValid[32]']"
此时会报String异常,原因是:html元素的属性只能是字符串,不能是集合。所以这种属性的检验只能是单独校验。
那如和使用easyui提供的validType也能实现多重校验的效果呢?那么下面介绍一下:html属性validtype的校验该怎么实现多重检验:
$(function(){ multipleValidType :{//多个校验的使用 validator: function(value, param){ var options = $.fn.validatebox.defaults;//获取校验属性 varreturnFlag = true; for(var i = 0 ; i < param.length ; i++){ var result = /([a-zA-Z_0-9]+)(.*)/.exec(param[i]); //匹配校验方法 var rule = options.rules[result[1]]; //获取校验方法 if(value && rule){ var ruleParam = eval(result[2]); //获取校验参数 if(!rule["validator"](value, ruleParam)){ var message = rule["message"]; if (ruleParam) { for ( var i = 0; i < ruleParam.length; i++) { message = message.replace(new RegExp("\\{" + i + "\\}", "g"), ruleParam[i]); } } $.fn.validatebox.defaults.rules.multipleValidType.message = message; returnFlag = false; break; } } } return returnFlag; }, message:"" } })
如上定义了一个多重校验的校验方法,然后通过该方法来分别调用各重校验。 上面的校验也可以写成:
validType="multipleValidType["validateAdd['字典值重复','$.fn.validatebox.defaults.rules.validateLength',100]",'textValid[32]']"
经测试,各重校验均正常执行。
easyui表单验证多重效验
本站文章除注明转载/出处外,均为本站原创或翻译。若要转载请务必注明出处,尊重他人劳动成果共创和谐网络环境。
转载请注明 : 文章转载自 » 心诺设计风尚 » 教程/笔记 » easyui-validatebox多重校验 带参数
上一篇:PHP多数组全排列组合 代码实现 (2018-10-25)
下一篇:php连接pgsql报函数table_msg不存错误处理方法 (2018-10-31)