2016-02-02 42 views
0

使用Codeigniter,您可以使用form_validation庫驗證表單。不過,我並不是一直都在使用這個功能,但我喜歡使用form_error('fieldname')函數。使用codeigniter form_validation將字段添加錯誤

是否可以在不執行form_validation->run()的情況下手動將錯誤消息推送到字段。

回答

2

不,該函數只能用於Form_validation庫。

+0

我可以在codeigniter的** validation_errors **中添加圖像驗證錯誤嗎? –

+0

先生,能否只在validation_errors()中得到錯誤; –

1

我找到了Codeigniter的方式來添加我想要的功能。通過擴展system/libraries/Form_validation.php

首先創建文件:application/libraries/MY_Form_validation.php

然後擴展CI_Form_validation類:

<?php 
/** 
* Created by PhpStorm. 
* User: william 
* Date: 02/02/2016 
* Time: 22:56 
*/ 

class MY_Form_validation extends CI_Form_validation{ 

    /** 
    * set error message 
    * 
    * sets the error message associated with a particular field 
    * 
    * @param string $field Field name 
    * @param string $error  Error message 
    */ 
    public function setError($field, $error){ 
     $this->_field_data[$field]['error'] = $error; 
    } 

} 

現在你可以使用form_validation->setError('fieldname','error')到manualy設置錯誤信息:

class Test extends CI_Controller{ 

    function index(){ 

     $this->load->library('form_validation'); 

     if (/* your validation outside of the form_validation */) { 
      $this->form_validation->setError('username', 'Invalid login credentials');  
     } 

     $this->load->view('test'); 
    } 

} 

注意!如果您想在不使用回調的情況下進行一些自定義驗證,請使用此選項

相關問題