关于自动完成规则的自定义方法与传值
遇到时间字段填充时,需要清清时,不能清空问题。

$_auto 规则用自定议法传值问题在配制项最后加一个参数。
// array(‘field’,’填充内容’,’填充条件’,’附加规则’,[额外参数])
实便配制:
array('goumairiqi','strtotimeupdate',self::MODEL_BOTH,'callback','goumairiqi'),
//实现方法
//$t 是表单传过来的值 $y 是配制中传过去的值
protected function strtotimeupdate($t,$y){
if(empty($t)){
return null;
}else{
return strtotime($t);
}
}
同时在这里也可以接收到$_POST值
如果遇到不能传值, 修改框加代码 Model.class.php
在 private function autoOperation(&$data,$type) 这个方法里面
switch($auto[3]) {
case 'function': // 使用函数进行填充 字段的值作为参数
case 'callback': // 使用回调方法
$args = isset($auto[4])?(array)$auto[4]:array();
if(isset($data[$auto[0]])) {
array_unshift($args,$data[$auto[0]]);
}
//by qchlian 解决回调函数传参bug
if($args && $auto[4]){
foreach($args as $k1=>$v1){
eval("\$v1 = \"$v1\";");
$args[$k1]=$v1;
}
}//end by qchlian
if('function'==$auto[3]) {
$data[$auto[0]] = call_user_func_array($auto[1], $args);
}else{
$data[$auto[0]] = call_user_func_array(array(&$this,$auto[1]), $args);
}
break;
case 'field': // 用其它字段的值进行填充
$data[$auto[0]] = $data[$auto[1]];
break;
case 'string':
default: // 默认作为字符串填充
$data[$auto[0]] = $auto[1];
}
