Heim  >  Artikel  >  PHP-Framework  >  Laravel-Entwicklung: Wie validiere ich Formularanfragen mithilfe der Laravel-Validierung?

Laravel-Entwicklung: Wie validiere ich Formularanfragen mithilfe der Laravel-Validierung?

王林
王林Original
2023-06-13 13:34:521005Durchsuche

Laravel ist ein beliebtes PHP-Webentwicklungs-Framework, das viele praktische Funktionen bietet, um die Arbeit von Entwicklern zu beschleunigen. Unter diesen ist die Laravel-Validierung eine sehr praktische Funktion, die uns dabei helfen kann, Formularanfragen und vom Benutzer eingegebene Daten einfach zu überprüfen. In diesem Artikel wird erläutert, wie Sie mit Laravel Validation Formularanfragen validieren.

Was ist Laravel-Validierung?

Laravel-Validierung ist eine in das Laravel-Framework integrierte Formularvalidierungsmethode. Es bietet eine prägnante, standardisierte und benutzerfreundliche Möglichkeit, Formularanfragen und Benutzereingabedaten zu validieren. Sie können verschiedene Regeln verwenden, um verschiedene Datentypen zu überprüfen, wodurch Coderedundanz reduziert und der Codeentwicklungsprozess vereinfacht wird.

So verwenden Sie die Laravel-Validierung

Zunächst müssen wir die Validation-Klasse von Laravel im Controller verwenden:

use IlluminateSupportFacadesValidator;

Wenn wir eine Anfrage validieren müssen, können wir die Methode Validator::make() verwenden:

public function store(Request $request)
{
    $validator = Validator::make($request->all(), [
        'name' => 'required|min:3|max:255',
        'email' => 'required|email|unique:users,email',
        'password' => 'required|min:8|confirmed',
    ]);

    if ($validator->fails()) {
        return redirect('register')
                    ->withErrors($validator)
                    ->withInput();
    }

    // 在此处写入数据到数据库的逻辑
}

In der Im obigen Code verwenden wir die Methode Validator::make(), um Validierungsregeln zu definieren. Der erste an die make-Methode übergebene Parameter sind die Anforderungsdaten, die überprüft werden müssen. Der zweite Parameter ist ein Array, das Validierungsregeln definiert. Die Schlüssel im Array sind die Feldnamen, die validiert werden müssen, und die Werte sind Validierungsregeln in Form von Zeichenfolgen.

Im obigen Code definieren wir drei Felder:

  • Name: erforderlich, minimale Zeichenanzahl beträgt 3, maximale Zeichenanzahl beträgt 255
  • E-Mail: erforderlich, E-Mail-Format, Eindeutigkeitsüberprüfung
  • Passwort: erforderlich, The Die Mindestanzahl an Zeichen beträgt 8 und entspricht dem Feld „password_confirmation“

Wenn eine Regel nicht überprüft werden kann, geben wir eine Fehlermeldung an die Registrierungsseite zurück und verwenden die Methode withInput(), um die zuvor vom Benutzer übermittelten Daten zurückzugeben.

Häufig verwendete Validierungsregeln

Bei der Verwendung der Laravel-Validierung müssen viele Regeln verwendet werden. Nachfolgend sind einige allgemeine Regeln aufgeführt:

  • erforderlich: Dieses Feld muss ausgefüllt werden.
  • E-Mail: Dieses Feld muss der E-Mail-Adressspezifikation entsprechen.
  • Einzigartig: Tabellenname, Feldname: Der Wert dieses Felds muss innerhalb des angegebenen Bereichs eindeutig sein Datentabelle
  • min:num: Die Mindestlänge dieses Feldes muss num Zeichen betragen
  • max:num: Die maximale Länge dieses Feldes muss num Zeichen betragen
  • numeric: Dieses Feld muss eine Zahl sein
  • integer: Dieses Feld muss eine ganze Zahl sein.
  • alpha: Das Feld muss Wortzeichen (a-z, A-Z) enthalten.
  • alpha_num: Das Feld muss aus alphanumerischen Zeichen bestehen.
  • confirmed: Das Feld muss mit dem Feldwert namens field_name_confirmation übereinstimmen.

Diese Regeln dienen lediglich der Validierung Regeln Im Rahmen dessen können Sie auch weitere Regeln zur Validierung der Daten verwenden. Eine detailliertere Liste der Validierungsregeln finden Sie in der Dokumentation von Laravel.

Benutzerdefinierte Validierungsregeln

Manchmal benötigen wir benutzerdefinierte Regeln, um Daten zu validieren. In Laravel können wir die Methode Validator::extend() verwenden, um benutzerdefinierte Validierungsregeln zu implementieren. Hier ist ein Beispiel für eine benutzerdefinierte Regel:

Validator::extend('phone_number', function ($attribute, $value, $parameters, $validator) {
    return preg_match('/^1[3-9][0-9]{9}$/', $value);
});

In diesem Beispiel definieren wir eine benutzerdefinierte Regel „phone_number“, die überprüft, ob $formData['phone_number'] Ihren eigenen definierten Spezifikationen entspricht. Wenn die Überprüfung erfolgreich ist, geben Sie „true“ zurück, andernfalls geben Sie „false“ zurück.

Benutzerdefinierte Fehlermeldung

Wir können die Fehlermeldung auch anpassen, um die Fehlermeldung benutzerfreundlicher zu gestalten. Hier ist ein Beispiel für eine benutzerdefinierte Fehlermeldung:

$validator = Validator::make($request->all(), [
    'email' => 'required|email|unique:users,email',
    'password' => 'required|min:8|confirmed',
]);

// 自定义错误信息
$validator->setAttributeNames([
    'email' => '邮箱',
    'password' => '密码',
]);

// 自定义错误信息模板
$validator->setCustomMessages([
    'required' => ':attribute字段不能为空',
    'email' => '请输入正确的邮箱地址',
    'unique' => ':attribute已经被占用了',
    'min' => ':attribute长度不能小于:min个字符',
    'confirmed' => '密码和确认密码不匹配',
]);

Im obigen Code haben wir die Methode setAttributeNames() verwendet, um die Feldnamen zu ändern und die Fehlermeldung menschlicher zu gestalten. Wir haben auch die Methode setCustomMessages() verwendet, um Fehlermeldungsvorlagen zu definieren, um das Ändern der Fehlermeldung einfacher und schneller zu machen und sie benutzerfreundlicher zu machen.

Zusammenfassung

Durch die obige Einführung haben wir gelernt, wie man Laravel Validation zur Überprüfung von Formularanfragen verwendet. Dadurch können Fehler durch falsche Benutzereingaben vermieden, Fehlermeldungen komfortabler verarbeitet und Entwicklungszeit gespart werden. Die Laravel-Validierung kann die Robustheit und Sicherheit von Anwendungen besser gewährleisten.

Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie validiere ich Formularanfragen mithilfe der Laravel-Validierung?. 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