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.
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. –
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 –
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. –