2012-04-29 10 views
0

イメージのアップロード用のスクリプトがあり、フォームの検証に使用しています。だから、これはコードです:CodeIgniter - フォーム検証が偽に設定される

$this->form_validation->set_rules('name','Name','required|max_length[30]|xss_clean'); 
$this->form_validation->set_rules('desc','Description','required|xss_clean'); 

if ($this->form_validation->run() == TRUE) 
{ 
    $config = array(
     'allowed_types' => 'jpg|jpeg|png|gif', 
     'upload_path' => path/to/folder, 
     'max_size' => 3000, 
     'max_height' => 1024, 
     'max_width' => 1024, 
     'remove_spaces' => TRUE 
    ); 
    $this->load->library('upload', $config); 

    if ($this->upload->do_upload()) 
    { 
     //code for insert this data into database 
    } 
    else 
    { 
     //code for FALSE the form validation and error message with flashdata 
    } 

画像のアップロードといくつかのエラーが発生した場合今、私は偽の形にしたいと思います。私はいくつかのフィールドのエラー(空の場合)、ポスト変数のデータを戻す(フィールドのコンテンツ用)のようにこれを行いたいと思います。

これを行うにはどうすればよいですか?

答えて

0

$this->form_validation->run()および$this->upload->do_upload()elseの条件も同様です。

フォーム検証:

$data['error_message'] = validation_errors(); 
$this->load->view('form', $data); 

ファイルのアップロード:

$data['error_message'] = $this->upload->display_errors(); 
$this->load->view('form', $data); 

'形式' ビューは1つが最初にロードされています。それはこの種のdivを持つことができます:

<div class="error_message"> 
    <?php if ($error_message) { 
     echo $error_message; 
    } ?> 
</div> 
+0

私はそれを知っていますが、私はこれを求めていません。私はフォームの検証の唯一の偽の実行は、何かがファイルをアップロードすると良くない場合は解決策を探しています。 例: 'if($ uploaderror == TRUE) { falseを返します。 //フォームの検証を誤ってフィールドの値をすべて返す } ' – user1257255

+0

返信で述べたようにフォームを再度読み込むだけで済みます。フィールドを再作成する場合は、各フィールドで 'set_value'関数を使用するだけです。 if($ this-> upload-> do_upload())の 'else'条件は' if($ uploaderror == TRUE) 'と全く同じ働きをします。 –

+0

あなたの答えは正しく、問題は私の側にありました。私はほとんど別のset_valueを使用していると私はそれについて考えることはありません。再度、感謝します。 – user1257255

関連する問題