2016-03-31 17 views
1

Ich versuche, ein Formular für die Buchung eines Zimmers mit form_validation zu machen, um zu überprüfen, ob der Raum bereits gebucht ist oder nicht, wenn Benutzer die Daten in das Formular eingeben. Ich zeigte die Ausgabe in Tabelle. Hier ist meine Validierung:Codeigniter Zimmer Buchungsformular Validierung

function add_room() 
{ 
    $this->form_validation->set_rules('start', 'Start Date', 'required|is_unique[calendar.start]'); 
    $this->form_validation->set_rules('start_t', 'Start Time', 'required|is_unique[calendar.start_t]'); 
    $this->form_validation->set_rules('end_t', 'End Time', 'required|is_unique[calendar.end_t]'); 
    $this->form_validation->set_rules('room', 'Room', 'required|is_unique[calendar.room]'); 
    $this->form_validation->set_rules('title', 'Title', 'required|trim|xss_clean'); 
    $this->form_validation->set_rules('user', 'NRP', 'required|trim|xss_clean'); 
    $this->form_validation->set_rules('nama', 'Name', 'required|trim|xss_clean'); 
    $this->form_validation->set_rules('ext', 'EXT', 'required|trim|xss_clean'); 
    $this->form_validation->set_rules('topic', 'Topic', 'required|trim|xss_clean'); 
    $this->form_validation->set_rules('attend', 'Attendees', 'required|trim|xss_clean'); 

    if ($this->form_validation->run() == FALSE) { 
     $this->form_validation->run('start_t'); 
    } 
    elseif ($this->form_validation->run('start_t') == TRUE) { 
     $this->form_validation->run('end_t'); 
    } 
    elseif ($this->form_validation->run('end_t') == TRUE) { 
     $this->form_validation->run('start'); 
    } 
    elseif ($this->form_validation->run('start') == TRUE) { 
     $this->form_validation->run('room'); 
    } 
    elseif ($this->form_validation->run('room') == TRUE) { 
     $this->form_validation->run(); 
    } 
    elseif ($this->form_validation->run() == TRUE) { 
     $this->calendar->add_room(); 
    } else { 
     validation_errors(); 
     $this->conf->msg('danger'); 
    } 
    redirect('calendar/meeting'); 


} 

Ich weiß, dass mein Code ist schrecklich, ich bin noch nicht sicher, wie die if Struktur zu machen. Ich möchte die Validierung überprüfen, ob die Room bei der Start Time, End Time und Start Date bereits gebucht ist oder nicht. Wenn es bereits gebucht ist, wäre die Validierung falsch und zeigt error message. Ich bin nicht wirklich gut in CI. Tatsächlich bin ich neu in diesem Programmierkram. Also, wie kann ich einen geeigneten Buchungsraum in machen? Danke für jede Hilfe.

Antwort

0

Setzen Sie die Fehler, die Sie

$ config = array ( array ('Feld' => 'bk_r_type_id', 'label' => 'bk_r_type_id Name', 'Regeln' = in einem Array validieren möchten > 'trim | erforderlich | max_length [100]') );

$this->form_validation->set_rules($config); 
+0

Kay: Kann ich ein paar "is_unique" in einer "Regeln" machen. Es scheint, dass mein Feld ('room',' start', 'start_t',' end_t') mit dem anderen verbunden sein muss. –

+0

ja. du kannst . Wenn Sie zwei Arten der Validierung ausprobieren, wird Ihr Code sicherer. Zuerst versucht man die Formularvalidierung. Die zweite ist die Validierung der Daten vor dem Einfügen in die Datenbank –

+0

Nein, ich meine mehr als eine 'is_unique' machen wie: 'Regeln' => 'erforderlich | is_unique [Kalender.Raum] | is_unique [Kalender.Start] | is_unique [Kalender.Start_t ] | is_unique [Kalender.end_t] '. Also überprüft die Validierung jedes Feld, es ist ein Buchungssystem. –

Verwandte Themen