【发布时间】:2018-06-08 19:05:21
【问题描述】:
您好,我正在尝试为我的表单创建一个验证回调,以仅在字段不为空时对其进行验证。我将验证规则创建到一个名为 form_validation.php 的配置文件中。 这是它的一部分内容:
$config=array(
'Users_Controller/add'=>array(
array(
'field'=>'email',
'label'=>'email',
'rules'=>'callback_email'
),
)
);
public function email($value){
if( trim( strlen($value) )!==0 ){
$this->form_validation->set_rules(
'email',
'email',
'valid_email|is_unique[users.email]',
array(
'valid_email'=>'invalid email',
'is_unique' => 'email already registered'
)
)
}
}
在我的控制器中,在 users_Controller.php 中,这是我处理表单提交的方式:
class Users_Controller extends CI_Controller{
public function add(){
if($this->form_validation->run()){
$this->User_model->save();
$this-session->set_flashdata('success','okay');
redirect('users/list');
}
else {
$this->load->view('add')
}
}
}
不幸的是,验证没有考虑我在配置文件 form_validation.php 中添加的回调验证方法,但是如果我将此回调放在控制器中,验证过程会忽略所有其他规则放入 form_validation.php
有什么帮助吗?提前致谢。
【问题讨论】:
-
请查看此链接:- stackoverflow.com/questions/19324420/callback-function-in-codeigniter-with-multiple-parameters-during-form-validation
标签: php codeigniter validation email-validation