Как установить настраиваемое сообщение об ошибке с помощью form_validation И CodeIgniter

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

и я написал:

$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; } }