Laravel 9 Anfragen und Validierung

Laravel 9 Anfragen und Validierung

„Das heutige Tutorial wird über Laravel -Anfragen und Validierung lehren. Laravel ist diesmal das sicherste PHP -Framework. Jetzt werde ich über die Anfrage erklären, Laravel Request ist eine Möglichkeit, Daten von der Ansicht an den Controller per Route zu senden. Wenn wir Daten aus einer Art von Laravel -Formular erhalten möchten, müssen wir sie an den Controller senden. Dann verwenden wir die Anforderungsmethode.”

Im Framework ist eine beste Zukunft die Datenanforderung, mit der wir leistungsstarke Anwendungen und APIs erstellen oder umgehen können. Es gab viele Möglichkeiten, um ValidationRequests in Laravel 9 zu überprüfen. Handling ControllerRequest -Validierung ist ein sehr komplexer Bestandteil jeder Laravel -Anwendung. Laravel hat eine außergewöhnliche Funktion, die sich sehr gut mit der Handhabungsanfrage befasst. Anforderungsdaten werden im Grunde genommen zum Erhalten von Daten aus dem Laravel -Formular verwendet.

Die meisten Entwickler sind in ihren Projekten sehr an den Validator gewöhnt. Und es ist auch die grundlegendste Möglichkeit, die Handlungsanforderung an den Controller zu validieren.

Es ist nichts Falsches daran, unsere eingehenden Anfragen im Projektcontroller zu validieren, aber es ist nicht nur der beste Weg, dies auszuführen, und auf diese Weise sieht der Projektcontroller auch sehr chaotisch aus. Als Entwickler denke ich, dass es eine schlechte Praxis ist. Dieser Controller erledigt Anfragen von einer eingehenden Anfrage aus der spezifischen Route und kehrt mit einer entsprechenden Antwort nach definiert zurück.

Wenn Sie die Anforderungsklasse verwenden möchten, müssen Sie sie in der Controller -Funktion definieren. Und Sie können alle Daten verwenden

$ anfrage-> alle ()

Hier ist ein alter Methodencode, der ist

Code-

publicFunctionDatastore (Anfrage $ request)
$ validator = validator :: make ($ request-> alle (), [
'E -Mail' => 'Erforderlich | Eindeutig: Benutzer | max: 255',
'Name' => 'Erforderlich',
]);
if ($ validator-> fails ())
returnRedirect ('post/create')
-> Witherrors ($ Validator)
-> input ();

Das Schreiben der Validierungslogik im Projektcontroller wird das Prinzip der einzelnen Verantwortung durchbrechen. Wir werden wissen, dass sich die Verantwortung auch ändert, sobald unsere Klasse geändert wird. Es ist also sehr schwierig, in einer einzigen Klasse mit vielen Aufgaben zu verwalten.

Müssen Sie diesen Befehl nun ausführen, um eine Anforderungsklasse zu erstellen.

PHP Artisan Make: Anfrage UserDatastorEquest anfordern

Es wird eine PHP -Datei unter App \ http \ requests erstellt. Die userDatastorerequest -Datei sieht so aus

Diese Anforderungsklasse wurde mit zwei Standardmethoden ausgestattet. Er ist auth () und eine andere Regeln (). Sie können jede autorisierte Logik in der Auth () -Methode ausführen. Die Handles, ob unser aktueller Benutzer eine Anfrage ausführen darf oder nicht. In der Methode Rules () können Sie Ihre Anforderungsvalidierungsregel anwenden. Es ist eine weitere zusätzliche Methode mit dem Namen messages (), bei denen Sie Ihre eigenen Formularvalidierungsnachrichten verwenden können. Wie Sie möchten Ihre eigene Nachricht für ein Passwort-Validierungsbeispiel festlegen- ein Passwort muss 10 Zeichen lang sein. Sie können diese Nachricht mit dieser Message () -Methode übergeben.

Testen Sie nun unseren UserController, um unsere userDatastorerequest zu verwenden. Sie können unsere Anforderungsklasse anrufen, und es wird automatisch bestätigt, bevor Ihre Kontrollerfunktion aufgerufen wird. Wir erstellen einen neuen Controller namens Datavalidation Controller

Fügen Sie diesen Code als nächstes dem Controller hinzu

publicFunctionStore (userDatastorEquest $ Anfrage)

$ validator = $ request-> validated ();
if ($ validator-> fails ())
returnRedirect ('validETORTEST')
-> Witherrors ($ Validator)
-> input ();

Unser Datavalidations -Controller sieht jetzt schlank und einfach zu pflegen aus. Außerdem muss unser Datavalidations -Controller nicht über die angeforderte Validierungslogik nachdenken. Wir haben unsere eigene Validierungsklasse, die unsere eigene Verantwortung für Validierungsanfragen hat und den Datavalidation Controller seine Arbeit erledigen lässt.

Jetzt werden wir die Nachrichtenmethode in unserer UserDatastore -Anforderungsdatei hinzufügen

Es sieht so aus, wie nach dem Hinzufügen von Nachrichtenvalidierung.

publicFunctionMessages ()

zurückkehren [
'Email.Erforderlich '=>' E -Mail ist erforderlich!'',
'Name.Erforderlich '=>' Name ist erforderlich!'',
'Passwort.Erforderlich '=>' Passwort ist erforderlich!''
];

Der gesamte Code sieht so aus

Abschluss

Auf diese Weise können Sie Ihren Validierungscode mit einer Anfrage definieren. Dieser Code hilft Ihnen dabei, Datenanfragen und die Validierungsregeln zu identifizieren, warum sie für ein Projekt unerlässlich sind.