CI表单验证的回调函数
每次写表单验证的时候要自己写回调函数..但是很多控制器用的有时候是同一个函数...有没有什么方法能将回调函数弄到一个控制器里面...直接调用 $config = array('signup' => array(
array(
'field' => 'title',
'label' => '标题',
'rules' => 'callback_null_check'
),
array(
'field' => 'neirong',
'label' => '内容',
'rules' => 'callback_null_check'
)
)
);
public function null_check($str){
if(empty($str)){
echo '1'.$str;
$this->form_validation->set_message('null_check', '%s不能为空');
return FALSE;
}
else{
echo '2'.$str;
return TRUE;
}
}
if($this->form_validation->run('signup')==TRUE){
$date = array(
'title' =>$this->input->post('title')
,'neirong' =>$this->input->post('neirong')
,'datetime' => time()
);
$this->mlyb->insert('lyb',$date);
} 我开始想过把这个回调函数写到一个控制器里面来调用...但是貌似ci是在执行run()方法的时候自己调用了当前控制器的回调函数...所以不晓得应该怎么处理了 自定义的回调函数的依赖性比较强,比如验证Email是否已经注册,因此一般不会同时出现在多个控制器中。你代码中提到的NULL验证其实是一种通用的验证方法,不需要写自定义函数,只需要使用required验证即可
$this->form_validation->set_rules('title', '标题', 'required');
$this->form_validation->set_rules('neirong', '内容', 'required');
LZ应该把系统已有的验证方法都使用熟悉。 关于回调函数的调用可以参考下这个。
http://blog.csdn.net/treesky/article/details/6948077 我上面写的NULL只是用个例子...比如我每个的控制的函数都会用到同一类型的自定义的验证...类似自带的验证那样..我应该怎么弄? 烟头上的探戈 发表于 2011-11-8 15:28 static/image/common/back.gif
关于回调函数的调用可以参考下这个。
http://blog.csdn.net/treesky/article/details/6948077 ...
扩展确实可以用...也是我现在唯一觉得能用的一种方法,,,谢谢拉
页:
[1]