簡體   English   中英

如何使用form_validation和CodeIgniter設置自定義錯誤消息

[英]How to set custom error message with form_validation And CodeIgniter

我是CodeIgniter的新手...並且我正在嘗試對數組輸入進行表單驗證...數組名稱為pages []。

我寫道:

$this->form_validation->set_rules('pages[]','','required');

如果我用那個:

$this->form_validation->set_message('required', 'you not selected pages.');

是否不會更改其他“必需”的驗證輸入參數?

那么,如何只為一個驗證設置錯誤消息?

它不能像您所說的那樣工作,您應該更仔細地閱讀用戶指南的這一部分

我不確定我能否解釋得更好,但是set_message方法的第一個字段不是指驗證的類型,而是指回調函數的名稱,該函數正在執行自定義驗證工作。

您需要做的是定義回調函數(該指南提供了一個很好的示例),您可以在其中循環訪問數組的元素並計算檢查的內容。 如果在迭代結束時計數器為0,則設置錯誤消息。

希望這可以幫助。

這是我自定義的Form_Validation類。 您可以根據需要使用它。 將此文件放在您的庫目錄下。 那么您可以使用以下設置消息:

$this->form_validation->setError(YOUR_INPUT_NAME, THE_MESSAGE);  

ex: $this->form_validation->setError('email', 'Invalid email');  

-

class MY_Form_validation extends CI_Form_validation {
    public function set_error($field, $pesan_error){
        $this->_field_data[$field]['error'] = $pesan_error;
    }
    public function get_error($field){
        return $this->_field_data[$field]["error"];
    }
    public function get_all_error(){
//        return $this->_field_data[$field]["error"];

        $fields = $this->_field_data;
        $pesan = "";
        foreach($fields as $field ) {
            if($field["error"]) {
                $pesan .= "<p>$field[error]</p>";
            }
        }
        return $pesan;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM