Heim  >  Artikel  >  Backend-Entwicklung  >  Optimierung eindeutiger und vorhandener Validierungsregeln in Laravel. Detailliertes PHP-Beispiel

Optimierung eindeutiger und vorhandener Validierungsregeln in Laravel. Detailliertes PHP-Beispiel

jacklove
jackloveOriginal
2018-06-28 18:02:061547Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich relevante Informationen zur Optimierung einzigartiger und vorhandener Validierungsregeln in Laravel vor. Er bietet einen gewissen Referenz-Lernwert für alle, die ihn benötigen Lassen Sie uns gemeinsam mit dem Herausgeber unten lernen.

Vorwort

Laravel bietet eine Vielzahl von Methoden zur Überprüfung von Anwendungseingabedaten. Standardmäßig verwenden die Controller-Basisklassen von Laravel das Merkmal ValidatesRequests, das praktische Methoden zur Validierung eingehender HTTP-Anfragen durch eine Vielzahl leistungsstarker Validierungsregeln bereitstellt.

Es ist sehr praktisch, Anfragen über das ValidatesRequests-Merkmal in Laravel zu überprüfen, und es wird automatisch in die BaseController-Klasse eingeführt. Die beiden Regeln exitsts() und unique() sind sehr mächtig und praktisch.

Sie müssen die vorhandenen Daten in der Datenbank während der Verwendung überprüfen. Normalerweise werden sie wie folgt geschrieben:

// exists example
'email' => 'exists:staff,account_id,1'
// unique example
'email' => 'unique:users,email_address,$user->id,id,account_id,1'

Die Syntax der Die obige Schreibmethode ist schwer zu merken. Wir müssen die Dokumentation fast jedes Mal nachschlagen, wenn wir sie verwenden. Aber ab Version 5.3.18 von Laravel können beide Validierungsregeln durch eine neue Regelklasse vereinfacht werden.

Den gleichen Effekt können wir jetzt mit der bekannten Kettensyntax wie folgt erzielen:

'email' => [
 'required',
 Rule::exists('staff')->where(function ($query) {
 $query->where('account_id', 1);
 }),
],

'email' => [
 'required',
 Rule::unique('users')->ignore($user->id)->where(function ($query) {
 $query->where('account_id', 1);
 })
],

Beide Validierungsregeln unterstützen auch die folgende Kettenmethode:

  • where

  • whereNot

  • whereNull

  • whereNotNull

Eindeutige Verifizierungsregeln unterstützen auch die Ignoriermethode, sodass Sie bei der Verifizierung manchmal bestimmte Daten ignorieren können.

Die gute Nachricht ist, dass die alte Schreibweise immer noch vollständig unterstützt wird und die neue Schreibweise sie unter der Haube durch die FormatWheres-Methode tatsächlich in die alte Schreibweise umwandelt:

protected function formatWheres()
{
 return collect($this->wheres)->map(function ($where) {
 return $where['column'].','.$where['value'];
 })->implode(',');
}

Verwandte Empfehlungen:

PHP-Methode zur Bestimmung, ob die IP eine gültige IP-Adresse ist Beispiel

AES-Verschlüsselungsklassendefinition und -verwendungsbeispiel PHP-Kenntnisse implementiert durch PHP

PHP-Tipps zur Verhinderung von Cross-Site- und XSS-Angriffscode

Das obige ist der detaillierte Inhalt vonOptimierung eindeutiger und vorhandener Validierungsregeln in Laravel. Detailliertes PHP-Beispiel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn