thinkphp 自动验证 多字段验证BUG

浏览:3235 发布日期:2013/12/20 分类:站务建议 关键字: bug 建议 自动验证
 protected $_validate = array(
     array('field1,field2','check','错误提示',0,'callback',3),
);
以上代码不会调用 check 函数进行自动验证,当字段为1个的时候正常。
解决的方法是将第4个参数设置为1,或者修改TP核心文件自己修复。 //TP多字段验证存在BUG:
//在“值不为空时才验证”和“存在该字段就验证”的情况下,多字段验证不会激活
//这是因为获取data字段值的时候,检查时使用的数组索引是字符串'field1,field2'
//这边临时解决的方法是只检查第一个字段是否存在或者不为空。
//if(isset($data[$val[0]]))        原代码
 $fields = explode(",",$val[0]);    //新代码
if(isset($data[$fields[0]]))        //新代码
最佳答案
评论( 相关
后面还有条评论,点击查看>>