Я выполняю проверку правильности кода для идентификатора электронной почты. Я указал 3 текстовое поле для ввода идентификатора электронной почты. Я извлекаю все 3 идентификатора электронной почты в массиве с именем ref_email. теперь я хочу выполнить проверку идентификатора электронной почты только тогда, когда текстовые поля электронной почты не пусты и покажут сообщение об ошибке на странице просмотра. если текстовые поля идентификатора электронной почты пусты, то я не хочу делать какие-либо проверки. Я не знаю, где я ошибся в своем коде.Проверка правильности кода должна работать только тогда, когда массив идентификатора электронной почты не пуст.
Мой код контроллера:
$ref_email_array=$this->input->post('ref_email');
foreach($ref_email_array as $key => $r_email){
if ($r_email!="") {
$this->form_validation->set_rules('ref_email['.$key.']', 'Email','trim|valid_email');
$this->form_validation->set_error_delimiters('<div class="error_user" style="color:red">', '</div>');
}
}
if($this->form_validation->run()){ // insertion code }
может кто-нибудь мне помочь? благодарит заранее.
Почему бы не использовать функцию php 'empty()' для проверки того, пуст ли входной массив или нет? –
Я просто хочу проверить, только когда значение массива не пусто. Я использую 3 текстовых поля, поэтому мой массив всегда возвращает индекс 0,1,2, поэтому массив не будет пустым. – malar
Используйте array_filter, чтобы проверить, имеют ли все ключи значение или нет. [Проверьте эту ссылку] (http://stackoverflow.com/questions/6339704/how-do-i-check-if-all-keys-in-an-array-have-empty-values-in-php) –