CodeIgniter - Formularvalidierung
Die Validierung ist ein wichtiger Prozess beim Erstellen von Webanwendungen. Es stellt sicher, dass die Daten, die wir erhalten, ordnungsgemäß und gültig zum Speichern oder Verarbeiten sind. CodeIgniter hat diese Aufgabe sehr einfach gemacht. Lassen Sie uns diesen Prozess anhand eines einfachen Beispiels verstehen.
Beispiel
Erstellen Sie eine Ansichtsdatei myform.php und speichern Sie den folgenden Code in application/views/myform.php. Auf dieser Seite wird ein Formular angezeigt, in dem der Benutzer seinen Namen eingeben kann, und wir werden diese Seite validieren, um sicherzustellen, dass sie beim Senden nicht leer ist.
<html>
<head>
<title>My Form</title>
</head>
<body>
<form action = "" method = "">
<?php echo validation_errors(); ?>
<?php echo form_open('form'); ?>
<h5>Name</h5>
<input type = "text" name = "name" value = "" size = "50" />
<div><input type = "submit" value = "Submit" /></div>
</form>
</body>
</html>
Erstellen Sie eine Ansichtsdatei formsuccess.php und speichern Sie es in application/views/formsuccess.php. Diese Seite wird angezeigt, wenn das Formular erfolgreich validiert wurde.
<html>
<head>
<title>My Form</title>
</head>
<body>
<h3>Your form was successfully submitted!</h3>
<p><?php echo anchor('form', 'Try it again!'); ?></p>
</body>
</html>
Erstellen Sie eine Controller-Datei Form.php und speichern Sie es in application/controller/Form.php. Dieses Formular zeigt entweder Fehler an, wenn es nicht ordnungsgemäß validiert oder an weitergeleitet wirdformsuccess.php Seite.
<?php
class Form extends CI_Controller {
public function index() {
/* Load form helper */
$this->load->helper(array('form'));
/* Load form validation library */
$this->load->library('form_validation');
/* Set validation rule for name field in the form */
$this->form_validation->set_rules('name', 'Name', 'required');
if ($this->form_validation->run() == FALSE) {
$this->load->view('myform');
}
else {
$this->load->view('formsuccess');
}
}
}
?>
Fügen Sie die folgende Zeile hinzu application/config/routes.php.
$route['validation'] = 'Form';
Lassen Sie uns dieses Beispiel ausführen, indem Sie die folgende URL im Browser besuchen. Diese URL kann je nach Website unterschiedlich sein.
http://yoursite.com/index.php/validation
Es wird der folgende Bildschirm angezeigt -
![](https://post.nghiatu.com/assets/tutorial/codeigniter/images/validation_form.jpg)
Wir haben eine Validierung im Controller hinzugefügt - Nameist ein Pflichtfeld vor dem Absenden des Formulars. Wenn Sie also auf die Schaltfläche "Senden" klicken, ohne etwas in das Feld "Name" einzugeben, werden Sie aufgefordert, den Namen vor dem Senden einzugeben, wie im folgenden Bildschirm dargestellt.
![](https://post.nghiatu.com/assets/tutorial/codeigniter/images/not_validated.jpg)
Nach erfolgreicher Eingabe des Namens werden Sie wie unten gezeigt zum Bildschirm weitergeleitet.
![](https://post.nghiatu.com/assets/tutorial/codeigniter/images/validated_successfully.jpg)
Im obigen Beispiel haben wir die erforderliche Regeleinstellung verwendet. Im CodeIgniter stehen viele Regeln zur Verfügung, die im Folgenden beschrieben werden.
Referenz der Validierungsregel
Das Folgende ist eine Liste aller nativen Regeln, die zur Verwendung verfügbar sind -
Regel | Parameter | Beschreibung | Beispiel |
---|---|---|---|
required |
Nein | Gibt FALSE zurück, wenn das Formularelement leer ist. | |
matches |
Ja | Gibt FALSE zurück, wenn das Formularelement nicht mit dem im Parameter übereinstimmt. | entspricht [form_item] |
regex_match |
Ja | Gibt FALSE zurück, wenn das Formularelement nicht mit dem regulären Ausdruck übereinstimmt. | regex_match [/ regex /] |
differs |
Ja | Gibt FALSE zurück, wenn sich das Formularelement nicht von dem im Parameter unterscheidet. | unterscheidet sich [form_item] |
is_unique |
Ja | Gibt FALSE zurück, wenn das Formularelement nicht eindeutig für den Tabellen- und Feldnamen im Parameter ist. Hinweis - Für diese Regel muss der Abfrage-Generator aktiviert sein, damit er funktioniert. | is_unique [table.field] |
min_length |
Ja | Gibt FALSE zurück, wenn das Formularelement kürzer als der Parameterwert ist. | min_length [3] |
max_length |
Ja | Gibt FALSE zurück, wenn das Formularelement länger als der Parameterwert ist. | max_length [12] |
exact_length |
Ja | Gibt FALSE zurück, wenn das Formularelement nicht genau der Parameterwert ist. | genaue Länge [8] |
greater_than |
Ja | Gibt FALSE zurück, wenn das Formularelement kleiner oder gleich dem Parameterwert oder nicht numerisch ist. | größer als [8] |
greater_than_equal_to |
Ja | Gibt FALSE zurück, wenn das Formularelement kleiner als der Parameterwert ist oder nicht numerisch. | größer_ als_gleich_zu [8] |
less_than |
Ja | Gibt FALSE zurück, wenn das Formularelement größer oder gleich dem Parameterwert oder nicht numerisch ist. | less_than [8] |
less_than_equal_to |
Ja | Gibt FALSE zurück, wenn das Formularelement größer als der Parameterwert ist oder nicht numerisch. | less_than_equal_to [8] |
in_list |
Ja | Gibt FALSE zurück, wenn sich das Formularelement nicht in einer vorgegebenen Liste befindet. | in_list [rot, blau, grün] |
alpha |
Nein | Gibt FALSE zurück, wenn das Formularelement etwas anderes als alphabetische Zeichen enthält. | |
alpha_numeric |
Nein | Gibt FALSE zurück, wenn das Formularelement etwas anderes als alphanumerische Zeichen enthält. | |
alpha_numeric_spaces |
Nein | Gibt FALSE zurück, wenn das Formularelement etwas anderes als alphanumerische Zeichen oder Leerzeichen enthält. Sollte nach dem Trimmen verwendet werden, um Leerzeichen am Anfang oder Ende zu vermeiden | |
alpha_dash |
Nein | Gibt FALSE zurück, wenn das Formularelement etwas anderes als alphanumerische Zeichen, Unterstriche oder Bindestriche enthält. | |
numeric |
Nein | Gibt FALSE zurück, wenn das Formularelement etwas anderes als numerische Zeichen enthält. | |
integer |
Nein | Gibt FALSE zurück, wenn das Formularelement etwas anderes als eine Ganzzahl enthält. | |
decimal |
Nein | Gibt FALSE zurück, wenn das Formularelement etwas anderes als eine Dezimalzahl enthält. | |
is_natural |
Nein | Gibt FALSE zurück, wenn das Formularelement etwas anderes als eine natürliche Zahl enthält - 0, 1, 2, 3 usw. | |
is_natural_no_zero |
Nein | Gibt FALSE zurück, wenn das Formularelement etwas anderes als eine natürliche Zahl enthält, jedoch nicht Null - 1, 2, 3 usw. | |
valid_url |
Nein | Gibt FALSE zurück, wenn das Formularelement keine gültige URL enthält. | |
valid_email |
Nein | Gibt FALSE zurück, wenn das Formularelement keine gültige E-Mail-Adresse enthält. | |
valid_emails |
Nein | Gibt FALSE zurück, wenn ein in einer durch Kommas getrennten Liste angegebener Wert keine gültige E-Mail ist. | |
valid_ip |
Nein | Gibt FALSE zurück, wenn die angegebene IP nicht gültig ist. Akzeptiert den optionalen Parameter 'ipv4' oder 'ipv6', um ein IP-Format anzugeben. | |
valid_base64 |
Nein | Gibt FALSE zurück, wenn die angegebene Zeichenfolge etwas anderes als gültige Base64-Zeichen enthält. |