2012-02-08 11 views
0

に私はCodeIgniterののフォーム検証を使用しています、それが正常に動作しますが、フォームの検証が失敗したとき、それは私が助けてくださいフォーム検証がCodIgniter

function insertProduct(){ 
     $this->load->library('form_validation'); 
     $this->form_validation->set_rules('pname','ProductName','trimirequired'); 
     if($this->form_validation->run()){ 
      $this->addProduct(); 
     } 
     else{ 
      $this->load->model('inventory/stock'); 
     } 

を使用しています <?php echo validation_errors();?> を使用することにより、検証エラーが表示されません。私はcodeIgniterを初めて使用しています

+1

あなたは 'validation_errorsを()'使用している場所を私は見ていませんか...?あなたはタイプミスがあります: 'trimirequired'は' trim | required'でなければなりません。 –

+0

私のビューでは、 'valid_errors()'を使用しています。長いコードはここでは指定できません。 'trim | required'を使用すると動作しません。 –

+1

else {}のビューをロードする必要がありますそこにモデルをロードしていますか? – stef

答えて

0

あなたのビューでは、この例ではエラーが個別に表示されるはずです。

0

コントローラのメソッドに、フォーム検証の成功/失敗を表示する必要があります。

insertProductメソッドを次のように変更すると、問題が解決されるはずです。 「name_of_your_viewは」あなたがvalidation_errorsを配置したビュー()内コードをある

function insertProduct(){ 
    $this->load->library('form_validation'); 
    $this->form_validation->set_rules('pname','ProductName','trimirequired'); 
    if($this->form_validation->run()){ 
     $this->addProduct(); 
     $this->load->view('{name_of_your_view}'); 
    } else{ 
     $this->load->model('inventory/stock'); 
     $this->load->view('{name_of_your_view}'); 
    } 
} 

0

CodeIgniterのチュートリアルページからこの例で検証エラーを表示するために提出されたデータを検証する方法を説明しますご想像のように、フォームのヘッダー:

http://codeigniter.com/user_guide/tutorial/create_news_items.html

は、作成関数のコード例は次のようになります。

public function create() 
{ 
    $this->load->helper('form'); 
    $this->load->library('form_validation'); 

    $data['title'] = 'Create a news item'; 

    $this->form_validation->set_rules('title', 'Title', 'required'); 
    $this->form_validation->set_rules('text', 'text', 'required'); 

    if ($this->form_validation->run() === FALSE) 
    { 
     $this->load->view('templates/header', $data); 
     $this->load->view('news/create'); 
     $this->load->view('templates/footer'); 

    } 
    else 
    { 
     $this->news_model->set_news(); 
     $this->load->view('news/success'); 
    } 
} 

他にも、成功を処理し、エラー時にエラーを表示するためにフォームに戻すビューを追加する必要があります。

$this->form_validation->set_rules('pname','ProductName','trimirequired'); 

0

私たちは、次のコードを含む行を変更することができます

​​