Heim >PHP-Framework >Laravel >Formularvalidierung in Laravel: Sicherstellung der Gültigkeit der von Benutzern übermittelten Daten
Formularvalidierung in Laravel: Sicherstellung der Gültigkeit der vom Benutzer übermittelten Daten
Einführung:
In modernen Webanwendungen ist die Gültigkeit der vom Benutzer eingegebenen Daten sehr wichtig. Wenn Benutzereingaben nicht validiert werden, ist Ihre Anwendung möglicherweise anfällig für böswillige Angriffe, Datenbeschädigung oder Sicherheitslücken. Als hervorragendes PHP-Framework bietet Laravel leistungsstarke und flexible Formularvalidierungsfunktionen, die uns dabei helfen, vom Benutzer übermittelte Daten einfach zu überprüfen und zu filtern, um deren Richtigkeit und Rechtmäßigkeit sicherzustellen.
1. Einführung in die Formularvalidierung in Laravel
Die Formularvalidierung in Laravel wird mithilfe der Formularanforderungsklasse implementiert. Die Formularanforderungsklasse ist ein von Laravel bereitgestellter Validator zur Validierung von von Benutzern übermittelten Formulardaten. Wir können diese Klasse verwenden, um Validierungsregeln und benutzerdefinierte Fehlermeldungen zu definieren und die Nachvalidierungslogik zu verwalten. Hier ist ein einfaches Beispiel:
<?php namespace AppHttpRequests; use IlluminateFoundationHttpFormRequest; class RegisterRequest extends FormRequest { public function authorize() { return true; } public function rules() { return [ 'name' => 'required', 'email' => 'required|email', 'password' => 'required|min:8', ]; } public function messages() { return [ 'name.required' => '用户名不能为空', 'email.required' => '邮箱不能为空', 'email.email' => '邮箱格式不正确', 'password.required' => '密码不能为空', 'password.min' => '密码长度不能少于8个字符', ]; } }
Im obigen Beispiel haben wir eine Formularanforderungsklasse namens RegisterRequest erstellt. In dieser Klasse definieren wir Validierungsregeln und benutzerdefinierte Fehlermeldungen. Insbesondere erfordern die Validierungsregeln, dass das Namensfeld, das E-Mail-Feld und das Passwortfeld erforderlich sind. Gleichzeitig muss das E-Mail-Feld eine gültige E-Mail-Adresse enthalten und die Mindestlänge des Passwortfelds beträgt 8 Zeichen. Wenn die Validierung fehlschlägt, können wir auch eine benutzerdefinierte Fehlermeldung definieren, um den Benutzern Fehlerinformationen besser anzuzeigen.
2. So verwenden Sie die Formularanforderungsklasse: Die Verwendung der Formularanforderungsklasse im Controller ist sehr einfach. Wir benötigen es lediglich als Parametertyphinweis in der Controller-Methode. Das Laravel-Framework führt automatisch eine Validierung basierend auf den Validierungsregeln der Formularanforderungsklasse durch. Wenn die Überprüfung erfolgreich ist, kann der Benutzer die übermittelten Daten weiter verarbeiten. Schlägt die Überprüfung fehl, wird der Benutzer zum ursprünglichen Formular zurückgeleitet und die entsprechende Fehlermeldung angezeigt. Zum Beispiel:
<?php namespace AppHttpControllers; use AppHttpRequestsRegisterRequest; class RegisterController extends Controller { public function store(RegisterRequest $request) { // 验证通过,处理用户提交数据 // ... } }Im obigen Beispiel haben wir eine Methode namens „store“ erstellt und die RegisterRequest-Klasse als Parametertyphinweis verwendet. Auf diese Weise überprüft Laravel automatisch die vom Benutzer übermittelten Daten basierend auf den Überprüfungsregeln der RegisterRequest-Klasse. Wenn die Überprüfung erfolgreich ist, können wir die Logik der vom Benutzer übermittelten Daten in der Store-Methode verarbeiten. 3. Benutzerdefinierte Validierungsregeln
Zusätzlich zu den von Laravel bereitgestellten Standardvalidierungsregeln können wir Validierungsregeln auch einfach anpassen. Laravel bietet eine einfache Möglichkeit, benutzerdefinierte Validierungsregeln mithilfe der Erweiterungsmethode
zu definieren. Hier ein Beispiel: Validator
类的extend
<?php namespace AppProviders; use IlluminateSupportServiceProvider; use IlluminateSupportFacadesValidator; class AppServiceProvider extends ServiceProvider { public function boot() {
Das obige ist der detaillierte Inhalt vonFormularvalidierung in Laravel: Sicherstellung der Gültigkeit der von Benutzern übermittelten Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!