2016-10-09 3 views
0

Ich verwende ein Formular, in dem ein div mit einem Paar Eingabefeld enthält, das dynamisch hinzugefügt wird.Codeigniter Array-Backend-Validierung

VIEW:

<?php echo form_open_multipart('location/add'); ?> 
<div> 
<input type="text" name="title[]"/> 
<div id="infoMessage"><?php echo form_error('title[]'); ?></div> 
</div> 
<div> 
<input type="text" name="desc[]"/> 
<div id="infoMessage"><?php echo form_error('desc[]'); ?></div> 
</div> 
<div> 
<input type="text" name="link[]"/> 
<div id="infoMessage"><?php echo form_error('link[]'); ?></div> 
</div> 

<input type="submit" name="" value="enter"> 
<?php echo form_close(); ?> 

enter image description here

Nun, zunächst möchte ich nicht Validierung für diese drei Eingabefelder aber ich möchte die Back-End-Validierung für alle Eingabefelder, die hinzufügen wollen dynamisch (durch Klicken auf +) beim Drücken der Schaltfläche Senden.

REGLER:

public function add() 
    { 

     $this->form_validation->set_rules('title[]','Title','required'); 
     $this->form_validation->set_rules('desc[]','Description','required'); 
     $this->form_validation->set_rules('link[]','Link','required'); 

      if ($this->form_validation->run() == FALSE) 
      { 
       $this->load->view('test'); 
      } 
      else 
      { 
       .... 
      } 

    } 

Antwort

0

Sie können benutzerdefinierte Callback-Validierungsfunktion EX verwenden:

public function add() 
{ 
    $this->form_validation->set_rules('title', 'Title', 'callback_title_validate'); 
    if ($this->form_validation->run() == FALSE) 
    { 
     $this->load->view('test'); 
    } 
    else 
    { 
     //.... 
    } 
} 

function title_validate($title){ 
    foreach($title as $key=>$value){ 
     if($title[$key]==null || $title[$key]==false){ 
     $this->form_validation->set_message('title_validate', 'The Title field is Required.'); 
      return FALSE; 
     } 
     } 
    return TRUE; 
} 
+0

noch Siehe die anfängliche Eingabe eingereicht wird auch direkt validieren? – Shihas

+0

Nein, Sie müssen eine benutzerdefinierte Validierungsfunktion für alle Felder erstellen, die Sie validieren möchten. –

+0

Ich denke, du hast meine Frage nicht bekommen :( – Shihas