Detaillierte Erläuterung der Optimierungsschritte für eindeutige und vorhandene Validierungsregeln in Laravel

php中世界最好的语言
Freigeben: 2023-03-26 21:22:01
Original
1340 Leute haben es durchsucht

Dieses Mal erkläre ich Ihnen ausführlich die Optimierungsschritte für eindeutige und vorhandene Validierungsregeln in Laravel Werfen wir einen Blick auf die praktischen Fälle.

Vorwort

Laravel bietet eine Vielzahl von Methoden zur Überprüfung von Anwendungseingabedaten. Standardmäßig verwendet die Basisklasse Controller

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'
Nach dem Login kopieren
Die Syntax der oben genannten Schreibmethode ist für uns fast jedes Mal schwer zu merken Ich benutze es, ich muss die Dokumentation nachschlagen. 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 Verkettungssyntax erzielen:

'email' => [
 'required',
 Rule::exists('staff')->where(function ($query) {
 $query->where('account_id', 1);
 }),
],
Nach dem Login kopieren
rrreeBeide Validierungsregeln unterstützen auch die folgende Verkettungsmethode:

where
  • whereNot
  • whereNull
  • whereNotNull
  • Eindeutige Validierungsregeln unterstützen auch die Ignore-Methode, sodass bestimmte Daten während der Validierung ignoriert werden können.
Die gute Nachricht ist, dass die alte Schreibweise immer noch vollständig unterstützt wird und die neue Schreibweise sie unten durch die FormatWheres-Methode tatsächlich in die alte Schreibweise umwandelt:

'email' => [
 'required',
 Rule::unique('users')->ignore($user->id)->where(function ($query) {
 $query->where('account_id', 1);
 })
],
Nach dem Login kopieren
Ich glaube, Sie haben den Fall in diesem Artikel gelesen. Sie beherrschen die Methode. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Ausführliche Erklärung der Verwendung doppelt verknüpfter Listen in PHP


Detaillierte Erklärung der Schritte dazu Konvertieren Sie ein Array mit foreach in PHP

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Optimierungsschritte für eindeutige und vorhandene Validierungsregeln in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!