Datenvalidierung in ThinkPHP6 verstehen
Jun 20, 2023 pm 10:45 PMThinkPHP6 ist derzeit eines der beliebtesten PHP-Entwicklungsframeworks und viele PHP-Entwickler verwenden es gerne für die Entwicklung. W?hrend des Entwicklungsprozesses ist die Datenüberprüfung ein sehr wichtiger Teil, da eine hervorragende Anwendung über eine Legalit?tsüberprüfung der Benutzereingabedaten verfügen muss. In diesem Artikel stellen wir detailliert vor, wie die Datenvalidierung in ThinkPHP6 implementiert wird.
- Grundidee
ThinkPHP6-Datenvalidierung basiert auf dem Konzept des Validators, das hei?t, wir müssen ein Validatorobjekt erstellen, um die Daten zu validieren. Beim Erstellen eines Validierungsobjekts müssen wir Validierungsregeln dafür angeben und dann die Validierungsmethode zur überprüfung aufrufen. Wenn die überprüfung fehlschl?gt, werden Informationen zum überprüfungsfehler zurückgegeben, andernfalls wird ?true“ zurückgegeben. Hier ist ein einfaches Beispiel:
use thinkValidate; $data = [ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com', 'age' => 18 ]; $validate = new Validate([ 'name' => 'require|max:25', 'email' => 'email', 'age' => 'number|between:1,120', ]); if (!$validate->check($data)) { dump($validate->getError()); }
Im obigen Code definieren wir zun?chst ein Array $data, das die zu überprüfenden Daten enth?lt. Dann haben wir ein Validierungsobjekt $validate erstellt und drei Validierungsregeln dafür festgelegt: Das Feld ?Name“ darf nicht leer sein und kann bis zu 25 Zeichen lang sein. Das Feld ?E-Mail“ muss eine gültige E-Mail-Adresse sein Zwischen 1 und 120. Abschlie?end wird die Prüfmethode aufgerufen, um die Daten zu überprüfen. Schl?gt die überprüfung fehl, wird eine Fehlermeldung ausgegeben.
- Detaillierte Erl?uterung der Verifizierungsregeln
Im obigen Beispiel haben wir einige g?ngige Verifizierungsregeln verwendet, wie zum Beispiel: erforderlich, maximal, E-Mail, Nummer, zwischen usw. Im Folgenden stellen wir einige h?ufig verwendete Validierungsregeln und deren Verwendung vor.
- require
Mit dieser Regel wird angegeben, dass das Feld nicht leer sein darf. Die Verwendung ist wie folgt:
'username' => 'require'
- max,min
Diese Regel wird verwendet, um die maximale oder minimale L?nge eines Feldes zu begrenzen. Die Verwendung ist wie folgt:
'username' => 'max:25' 'password' => 'min:8'
Diese Regel wird verwendet, um anzugeben, dass das Feld eine gültige E-Mail-Adresse sein muss. Die Verwendung ist wie folgt:
'email' => 'email'
- alpha,alphaNum
Diese Regel wird verwendet, um anzugeben, dass das Feld nur Buchstaben oder alphanumerische Kombinationen enthalten darf. Die Verwendung ist wie folgt:
'username' => 'alpha' 'password' => 'alphaNum'
- regex
Diese Regel wird verwendet, um anzugeben, dass das Feld mit dem angegebenen regul?ren Ausdruck übereinstimmen muss. Die Verwendung ist wie folgt:
'username' => 'regex:^[a-z]+$'
- unique
Diese Regel wird verwendet, um anzugeben, dass der Feldwert in der Datenbank eindeutig sein muss. Die Verwendung ist wie folgt:
'email' => 'unique:user,email'
Im obigen Beispiel gibt der Parameter nach ?unique“ an, dass in der Benutzertabelle der E-Mail-Feldwert eindeutig sein muss.
- in
Mit dieser Regel wird angegeben, dass der Feldwert innerhalb des angegebenen Bereichs liegen muss. Die Verwendung ist wie folgt:
'gender' => 'in:0,1'
- between
Diese Regel wird verwendet, um anzugeben, dass der Feldwert innerhalb des angegebenen Bereichs liegen muss. Die Verwendung ist wie folgt:
'age' => 'between:1,120'
- confirm
Diese Regel wird verwendet, um anzugeben, dass zwei Felder gleich sein müssen. Die Verwendung ist wie folgt:
'password_confirm' => 'confirm:password'
Im obigen Beispiel erfordern wir, dass die beiden Felder ?password_confirm“ und ?password“ gleich sein müssen.
- Benutzerdefinierte Validierungsregeln
Manchmal müssen wir einige benutzerdefinierte Validierungsregeln verwenden, um bestimmte Anforderungen zu erfüllen. In diesem Fall k?nnen wir die Methode addRule verwenden, um die Validierungsregeln anzupassen. Wenn wir beispielsweise überprüfen m?chten, ob der Inhalt eines Textfelds ein bestimmtes Schlüsselwort enthalten muss, k?nnen wir eine Regel wie diese definieren:
use thinkValidate; Validate::rule('my_rule', function($value, $rule) { return strpos($value, $rule) !== false; }); $validate = new Validate([ 'content' => 'my_rule:thinkphp' ]); if (!$validate->check($data)) { dump($validate->getError()); }
Im obigen Code haben wir zun?chst eine benutzerdefinierte Regel my_rule über die statische Methode Regel registriert. Seine Verwendung ist die gleiche wie bei anderen Regeln. Anschlie?end haben wir diese Regel im Validator verwendet, um zu überprüfen, ob der Wert des Inhaltsfelds das Schlüsselwort thinkphp enthalten muss.
- Szenarioüberprüfung
Manchmal müssen wir in verschiedenen Szenarien unterschiedliche Validierungsregeln für dasselbe Feld verwenden. Beispielsweise müssen wir in den beiden Szenarien der Benutzerregistrierung und Benutzer?nderung unterschiedliche Validierungsregeln verwenden. Zu diesem Zeitpunkt k?nnen wir die Szenarioüberprüfung verwenden, um die Anforderungen zu erfüllen. Wir k?nnen den Szenarionamen beim Erstellen des Validatorobjekts angeben und dann für jedes Szenario unterschiedliche Validierungsregeln festlegen. Zum Beispiel:
use thinkValidate; $data = [ 'email' => 'thinkphp@qq.com', 'password' => '123456', ]; $validate = new Validate([ 'email' => 'require|email|unique:user,email', 'password' => 'require|min:6' ]); // 假設當前為用戶修改資料場景 $validate->scene('edit', function($validate) { $validate->rule('email', 'require|email'); }); if (!$validate->scene('edit')->check($data)) { dump($validate->getError()); }
Im obigen Beispiel definieren wir zun?chst ein Validatorobjekt $validate und legen die Validierungsregeln für die E-Mail- und Passwortfelder fest. Anschlie?end verwenden wir die Szenenmethode, um die aktuelle Szene als ?Bearbeiten“ festzulegen und die Validierungsregeln für das E-Mail-Feld festzulegen. Zum Schluss rufen wir die Prüfmethode zur überprüfung auf. Schl?gt die überprüfung fehl, wird eine Fehlermeldung ausgegeben.
- Mehrsprachige Unterstützung
ThinkPHP6 unterstützt mehrsprachige Validierungsfehlermeldungen. Dies k?nnen wir erreichen, indem wir entsprechende Fehlermeldungen in die Datei ?validate.php“ einfügen. Wenn wir beispielsweise chinesische Fehlerinformationen zum E-Mail-Feld hinzufügen m?chten, k?nnen wir diese wie folgt konfigurieren:
return [ 'email' => [ 'require' => '郵箱必須填寫!', 'unique' => '該郵箱已被注冊!', 'email' => '郵箱格式不正確!' ] ];
Diese Konfigurationsdatei wird in /config/validate.php gespeichert und wir k?nnen die entsprechenden Fehlerinformationen über getError abrufen Methode w?hrend der überprüfung.
- Ende
Das Obige ist die grundlegende Verwendung der Datenvalidierung in ThinkPHP6, einschlie?lich: Validierungsregeln, benutzerdefinierte Validierungsregeln, Szenariovalidierung und mehrsprachige Unterstützung. Die Verwendung dieser Funktionen kann uns helfen, Benutzereingabedaten einfacher zu überprüfen und die Sicherheit und Rechtm??igkeit der Anwendung zu gew?hrleisten. Ich hoffe, dass dieser Artikel allen Entwicklern hilfreich sein wird!
Das obige ist der detaillierte Inhalt vonDatenvalidierung in ThinkPHP6 verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Um das ThinkPHP-Projekt auszuführen, müssen Sie: Composer installieren, das Projektverzeichnis aufrufen und http://localhost:8000 aufrufen.

ThinkPHP verfügt über mehrere Versionen, die für verschiedene PHP-Versionen entwickelt wurden. Zu den Hauptversionen geh?ren 3.2, 5.0, 5.1 und 6.0, w?hrend Nebenversionen dazu dienen, Fehler zu beheben und neue Funktionen bereitzustellen. Die neueste stabile Version ist ThinkPHP 6.0.16. Berücksichtigen Sie bei der Auswahl einer Version die PHP-Version, die Funktionsanforderungen und den Community-Support. Für optimale Leistung und Support wird empfohlen, die neueste stabile Version zu verwenden.

Schritte zum lokalen Ausführen von ThinkPHP Framework: Laden Sie ThinkPHP Framework herunter und entpacken Sie es in ein lokales Verzeichnis. Erstellen Sie einen virtuellen Host (optional), der auf das ThinkPHP-Stammverzeichnis verweist. Konfigurieren Sie Datenbankverbindungsparameter. Starten Sie den Webserver. Initialisieren Sie die ThinkPHP-Anwendung. Greifen Sie auf die URL der ThinkPHP-Anwendung zu und führen Sie sie aus.

Go und Golang sind die gleichen Programmiersprachen und es gibt keinen wesentlichen Unterschied zwischen ihnen. Go ist der offizielle Name der Programmiersprache und Golang ist die Abkürzung, die von Go-Sprachentwicklern im Internetbereich h?ufig verwendet wird. In diesem Artikel werden wir die Eigenschaften, Verwendungszwecke und einige spezifische Codebeispiele der Go-Sprache untersuchen, um den Lesern ein besseres Verst?ndnis dieser leistungsstarken Programmiersprache zu erm?glichen. Die Go-Sprache ist eine von Google entwickelte statisch kompilierte Programmiersprache. Sie zeichnet sich durch Effizienz, Einfachheit und starke Parallelit?t aus und soll die Arbeitseffizienz von Programmierern verbessern.

Leistungsvergleich von Laravel- und ThinkPHP-Frameworks: ThinkPHP schneidet im Allgemeinen besser ab als Laravel und konzentriert sich auf Optimierung und Caching. Laravel schneidet gut ab, aber für komplexe Anwendungen ist ThinkPHP m?glicherweise besser geeignet.

ThinkPHP-Installationsschritte: Bereiten Sie PHP-, Composer- und MySQL-Umgebungen vor. Erstellen Sie Projekte mit Composer. Installieren Sie das ThinkPHP-Framework und die Abh?ngigkeiten. Datenbankverbindung konfigurieren. Anwendungscode generieren. Starten Sie die Anwendung und besuchen Sie http://localhost:8000.

ThinkPHP ist ein leistungsstarkes PHP-Framework mit Vorteilen wie Caching-Mechanismus, Codeoptimierung, Parallelverarbeitung und Datenbankoptimierung. Offizielle Leistungstests zeigen, dass es mehr als 10.000 Anfragen pro Sekunde verarbeiten kann und in gro?en Websites und Unternehmenssystemen wie JD.com und Ctrip in praktischen Anwendungen weit verbreitet ist.

Entwicklungsvorschl?ge: So verwenden Sie das ThinkPHP-Framework für die API-Entwicklung Mit der kontinuierlichen Entwicklung des Internets ist die Bedeutung von API (Application Programming Interface) immer wichtiger geworden. Die API ist eine Brücke für die Kommunikation zwischen verschiedenen Anwendungen. Sie kann Datenaustausch, Funktionsaufrufe und andere Vorg?nge realisieren und bietet Entwicklern eine relativ einfache und schnelle Entwicklungsmethode. Als hervorragendes PHP-Entwicklungsframework ist das ThinkPHP-Framework effizient, skalierbar und einfach zu verwenden.
