Я новичок в 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; } }