Bei der Entwicklung von WEB-Projekten hat jedes Modul des Projekts die Funktion, Daten hinzuzufügen – z. B. Benutzerregistrierung, Hinzufügen von Nachrichten, Produktverwaltung usw. Dann verwenden wir Formulare, um Daten zu übertragen, und beim Hinzufügen von Daten Ob weder Front-End-Benutzer noch Back-End-Administratoren das Ausfüllen ungültiger oder falscher Daten vermeiden können, ist die Überprüfung der Formulardaten in unseren Projekten unverzichtbar. Wenn Sie also an einem WEB-Projekt teilgenommen oder es unabhängig entwickelt haben, werden Sie beim Hinzufügen von Daten auf jeden Fall viele Datenüberprüfungen finden – z. B. ob der Benutzername vorhanden ist, ob der Bestätigungscode korrekt ist, ob das Passwort konsistent ausgefüllt ist usw Das Alter ist eine Zahl usw., dann wird es Probleme wie die Verwendung einer großen Anzahl von Datenbanksuchen und das Schreiben regulärer Ausdrücke geben, die jedem Probleme bereiten.
In ThinkPHP gibt es integrierte Funktionen zur automatischen Überprüfung und Vervollständigung von Datenobjekten, um die Geschäftsregelüberprüfung des Modells abzuschließen. In den meisten Fällen werden die Datenobjekte durch die von übermittelten $_POST-Daten erstellt bilden. Wenn Sie die automatische Überprüfungsfunktion des Systems verwenden müssen, müssen Sie nur das Attribut $_validate in der Model-Klasse definieren.
Validierungsfaktorformat des Attributs $_validate:
Array (Validierungsfeld, Validierungsregeln, Fehleraufforderung, Validierungsbedingungen, zusätzliche Regeln, Validierungszeit)
*Validierungsfeld: Name des Formularfelds, Hinweis: Dieses Feld muss kein Datenbankfeld sein, es können auch einige Hilfsfelder des Formulars sein, z. B. Bestätigungskennwörter und Verifizierungscodes usw.
*Validierungsregeln: Zu verifizierende Regeln müssen manchmal mit zusätzlichen Regeln kombiniert werden.
Eingebaute Validierungsregeln – einschließlich: erforderliches Feld, E-Mail-Adresse, URL-Adresse, Währung, Nummer. Diese Validierungsregeln können direkt verwendet werden. Hinweis: Wenn Sie andere Verifizierungsregeln haben, müssen Sie Ihre eigene Methode schreiben
* Eingabeaufforderung: Wird für Eingabeaufforderungsinformationen verwendet, nachdem die Überprüfung fehlgeschlagen ist.
Überprüfungsbedingungen:
0 oder Model::EXISTS_TO_VAILIDATE – validieren, ob das Feld vorhanden ist (Standard)
1 oder Model::MUST_TO_VALIDATE – muss überprüft werden
2 oder Model::VALUE_TO_VAILIDATE – Überprüfen, wenn der Wert nicht leer ist
Zusätzliche Regeln: Verwenden Sie
regex mit den Überprüfungsregeln, um mithilfe regulärer Ausdrücke zu überprüfen, was darauf hinweist, dass der Wert zuvor nicht leer ist Die definierte Überprüfungsregel ist ein regulärer Ausdruck (Standard)
Funktion verwendet Funktionsüberprüfung, die zuvor definierte Überprüfungsregel ist ein Funktionsname. Hinweis: Systemfunktion oder benutzerdefinierte Funktion
Rückruf verwendet Methodenüberprüfung, die Überprüfung Die zuvor definierte Regel ist eine Methode der aktuellen Model-Klasse. Hinweis: Die benutzerdefinierte Methode
confirm überprüft, ob die beiden Felder im Formular identisch sind. Die zuvor definierte Überprüfungsregel ist ein Feldname
equal überprüft, ob es einem bestimmten Wert entspricht, der durch die vorherige Validierungsregel
in „Überprüfen, ob es innerhalb eines bestimmten Bereichs liegt“ definiert ist. Hinweis: Die zuvor definierte Validierungsregel muss ein Array sein
einzigartig Überprüfen Sie, ob es eindeutig ist. Das System fragt basierend auf dem Feld den aktuellen Wert in der Datenbank ab, um festzustellen, ob derselbe Wert vorhanden ist. Hinweis: Die Datenbank wird angefordert.
Überprüfungszeit:
1 oder Model:: MODEL_INSERT – beim Hinzufügen neuer Daten überprüfen
2 oder Model:: MODEL_UPDATE – beim Bearbeiten von Daten validieren
3 oder Model:: MODEL_BOTH – insgesamt validieren Situationen (Standard)
Nachdem Sie mit dem Attribut $_validate vertraut sind, müssen Sie es verwenden. Nehmen wir ein Beispiel, um zu analysieren, wie Überprüfungsfaktoren bei der Überprüfung bestimmter Daten geschrieben werden.
Wenn Sie ThinkPHP studiert haben, sollten Sie einige Beispiele für die automatische Überprüfung im Handbuch gesehen haben. Hier fassen wir die meisten häufig verwendeten Beispiele zusammen, damit jeder sie lernen und verwenden kann Studierende, die hier nicht erwähnt werden, können ein Brainstorming durchführen, um alle Methoden zur automatischen Überprüfung von Daten zu verbessern.
Beispiel:
protected $_validate = array(
array('username','require','Username is required!'), // Ob die Daten vorhanden sind leer Hinweis: Standardmäßig werden alle Ergänzungen und Änderungen überprüft
array('username','','Der Benutzername existiert bereits!',0,'unique',1), // Überprüfen Sie, ob der Benutzername vorhanden ist Feld wird hinzugefügt, wenn Unique
array('password','checkPwd','Password format is invalid',0,'function') hinzugefügt wird, // Das Passwortformat kann mit der chenkPwd-Methode angepasst werden
array(' repassword','password','Bestätigen Sie, dass das Passwort falsch ist',0,'confirm'), // Überprüfen Sie, ob das Bestätigungspasswort mit dem Passwort übereinstimmt
array(' sex','array(0,1,2 )','Geschlecht muss 0,1,2 sein',0,'in'), // Überprüfen Sie, ob die Daten innerhalb eines Bereichs liegen
array( 'age','number','Age must be Number'), // Überprüfen Sie, ob die Daten eine Zahl sind
array('email','email','Das E-Mail-Format ist falsch'), // Integrierte regelmäßige Bestätigungs-E-Mail
array(' email','/^/w+([-+.]/w+)*@/w+([-.]/w+)*/./ w+([-.]/w+)*$/','E-Mail-Format falsch), // Angepasste reguläre Verifizierungsdaten
array('mypage','url','Persönliches URL-Format ist falsch') , // Integrierte URL-Adresse für die reguläre Überprüfung
Array ('verify','****','Bestätigungscode ist falsch',0,'equal'), // Überprüfen Sie, ob die Daten korrekt sind entspricht einem bestimmten Wert. Hinweis: **** kann ein zufälliger Bestätigungscode sein.
array('salary','currency','Gehaltsüberprüfung ist falsch','0'), // Eingebaut Verifizierungswährungsdaten
);
Die automatische Verifizierungsfunktion von ThinkPHP kann nahezu alle Datenverifizierungsanforderungen erfüllen. Wenn Sie also ThinkPHP zum Hinzufügen und Verifizieren von Daten im Projekt verwenden, müssen Sie sich nicht um das lästige Problem der Datenverifizierung mithilfe der automatischen Verifizierung und der automatischen Verifizierung kümmern Abschlussfunktionen. Die Funktion zur automatischen Vervollständigung wird beim nächsten Mal erläutert und zusammengefasst. Die Produktion von ThinkPHP-Projektmodulen und Projektbeispiele werden nacheinander veröffentlicht. Ich hoffe, Sie werden sie unterstützen.