2017-05-09 13 views
2

私はconfigのform_validation.phpを使用して、どのように私はコントローラからこのファイル(form_validation.php)に変数を送信できますか?私は、コントローラを介して "USER_ID" 変数を送信する必要があるCodeigniterのコントローラからfor_validation設定ファイルへのデータの受け渡し方法は?

array(
    'field' => 'edituser_email', 
    'label' => 'Email', 
    'rules' => "required|trim|xss_clean|valid_email|edit_unique[users.email.$user_id]", 
    'errors' => array(
      'required' => 'Campo obligatorio.', 
      'valid_email' => 'Formato de correo no válido.', 
      'edit_unique' => 'Ya existe un usuario con este correo.' 
      ) 
    ) 

を:私は私のform_validation.phpで

私はすでにしてみました:

$data['user_id'] = $id; 
if ($this->form_validation->run('edit_user',$data) === FALSE) 

しかし、私はエラーを取得:

メッセージ:未定義の変数:USER_IDを。

ありがとうございました。

+0

https://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks – user4419336

答えて

1

$this->form_validation->run()に引数を渡す必要はありません。実行する前にルールを設定するだけです。

$this->form_validation->set_rules('name', lang('title'), 'required|trim'); 
$this->form_validation->set_rules('description', lang('description'), 'required'); 
$this->form_validation->set_rules('slug', lang('slug'), 'trim|required|is_unique[categories.slug]|alpha_dash'); 

if ($this->form_validation->run() == true) 
{ 

     $data = array(
      'name' => $this->input->post('name'), 
      'description' => $this->input->post('description'), 
      'parent_id' => $this->input->post('parent_category'), 
      'slug' => $this->input->post('slug'), 
      'active' => $this->input->post('active'), 
      'private' => $this->input->post('private'), 
     ); 
} 
+0

HTTPS ://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks – user4419336

1

私は試していませんが、あなたが変数を配列ポストに追加すると、このように動作します。ドキュメントhere として

$this->input->post['user_id'] = $user_id; 
1

ドキュメントで使用すると、POSTデータを上書きしたい場合は、実行、検証の前に最初にデータを設定する必要があります。 EX用

:その後、

$post_data = array_merge(array('user_id' => $id), $this->input->post(NULL, TRUE)); //merge existing post data with your custom field 

$this->form_validation->set_data($post_data); 

if ($this->form_validation->run('edit_user') === FALSE){ 
    // error view 
} 
else{ 
// success view 

} 
関連する問題