Как установить пользовательское сообщение об ошибке с form_validation и CodeIgniter - PullRequest
2 голосов
/ 05 сентября 2010

Я новичок в CodeIgniter ... и я пытаюсь выполнить проверку формы для ввода массива ... имя массива - страницы [].

, и я написал:

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

если я использую это:

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

, это не изменит другие «обязательные» параметры ввода проверки?

Так как я могу установить сообщение об ошибке только для одной проверки?

Ответы [ 2 ]

2 голосов
/ 28 сентября 2017

Это мой пользовательский класс 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;
    }
}
2 голосов
/ 06 сентября 2010

Это не работает, как вы заявили, вы должны прочитать этот раздел руководства пользователя более внимательно.

Я не уверен, что смогу объяснить лучше, но первое полеметода set_message относится не к типу проверки, а к имени функции обратного вызова, это функция, выполняющая пользовательскую проверку.

Вам нужно определить свою функцию обратного вызова (руководствохороший пример), в котором вы перебираете элементы вашего массива и подсчитываете, что проверено.Если в конце итерации счетчик равен 0, вы устанавливаете сообщение об ошибке.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...