2015-01-21 6 views
0

Я выполняю проверку правильности кода для идентификатора электронной почты. Я указал 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 } 

может кто-нибудь мне помочь? благодарит заранее.

+0

Почему бы не использовать функцию php 'empty()' для проверки того, пуст ли входной массив или нет? –

+0

Я просто хочу проверить, только когда значение массива не пусто. Я использую 3 текстовых поля, поэтому мой массив всегда возвращает индекс 0,1,2, поэтому массив не будет пустым. – malar

+0

Используйте array_filter, чтобы проверить, имеют ли все ключи значение или нет. [Проверьте эту ссылку] (http://stackoverflow.com/questions/6339704/how-do-i-check-if-all-keys-in-an-array-have-empty-values-in-php) –

ответ

0
$ref_email_array=$this->input->post('ref_email'); 
foreach($ref_email_array as $r_email){ 
if (empty($r_email)) {} 
else { 
$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>'); 
     } 
} 

Надеюсь, это может вам помочь! , это работает для меня