Heim > Artikel > PHP-Framework > Verifizierungsmethode in Laravel
Laravel ist ein beliebtes PHP-Framework mit einfacher Bedienung und leistungsstarken Funktionen. Eine der wichtigen Funktionen ist die Validierung. Laravel bietet mehrere Validierungsmethoden, um die vom Formular übermittelten Daten einfach zu überprüfen und die Richtigkeit und Sicherheit der Anwendungsdaten sicherzustellen. In diesem Artikel werden häufig verwendete Verifizierungsmethoden in Laravel vorgestellt.
Die Formularvalidierung ist die am häufigsten verwendete Validierungsmethode in Laravel. Sie wird verwendet, um zu überprüfen, ob die vom Formular übermittelten Daten den angegebenen Regeln entsprechen. Jede Validierungsregel kann eine Fehlermeldung definieren, die ausgegeben wird, wenn die Validierung fehlschlägt. Hier ist ein Beispiel für eine Formularvalidierung:
public function store(Request $request) { $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:8|confirmed', ]); // 数据通过验证,将数据存储到数据库中 }
Im obigen Beispiel wird die Methode $request->validate([])
verwendet, um die Daten in der Anfrage zu validieren. Diese Methode akzeptiert ein Array mit Validierungsregeln. Der Schlüsselname des Arrays stellt den zu überprüfenden Feldnamen dar und der Schlüsselwert stellt die Validierungsregel für das Feld dar. $request->validate([])
方法用于验证请求中的数据。该方法接受一个包含验证规则的数组,数组的键名表示要验证的字段名称,而键值表示该字段的验证规则。
每个验证规则都由一个管道符|
分隔,其中包含了该规则的验证参数。例如,required|string|max:255
表示字段为必填项、字符串类型,并且最大长度为255个字符。unique:users
表示验证该字段在users
表格中的唯一性。
如果验证失败,将会自动返回一个错误信息。如果验证成功,将会继续执行下面的代码逻辑。
Laravel还提供了JSON数据验证方法。JSON验证通常用于API接口开发,用于验证发送到服务器的JSON数据是否符合指定规则。与表单验证相似,JSON验证也可以定义验证规则和错误信息。
以下是一个JSON验证的示例:
public function store(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:8|confirmed', ]); if ($validator->fails()) { return response()->json([ 'status' => 'error', 'message' => $validator->errors(), ], 422); } // 数据通过验证,将数据存储到数据库中 }
在上面的示例中,使用Validator::make()
方法创建一个验证实例。与表单验证不同,make()
方法需要传递两个参数:验证的数据和验证规则。如果验证失败,则需要返回一个包含错误信息的JSON响应。如果验证成功,将会继续执行下面的代码逻辑。
除了Laravel内置的验证规则外,开发人员还可以自定义验证规则。自定义规则可以满足特殊的验证需求,例如验证时间、密码强度等。
以下是一个自定义验证规则的示例:
Validator::extend('strong_password', function ($attribute, $value, $parameters, $validator) { return preg_match('/^(?=.*[a-zA-Z])(?=.*d)(?=.*(_|[^w])).+$/', $value); }); $validator = Validator::make($request->all(), [ 'password' => 'required|string|min:8|strong_password', ]);
在上面的示例中,使用Validator::extend()
方法创建自定义验证规则strong_password
。该方法接受两个参数:规则名称和一个闭包函数,该函数接受四个参数:验证字段名称、验证字段值、验证参数、验证器对象。
在定义自定义规则后,需要在验证器实例中使用自定义规则。如上述代码所示,min:8|strong_password
表示密码长度至少为8个字符,并且必须包含至少一个大小写字母、一个数字和一个特殊字符(下划线_除外)。
在开发应用程序时,通常需要自定义验证错误信息。在Laravel中,可以使用message()
方法自定义错误信息。
以下是一个自定义验证错误信息的示例:
$validator = Validator::make($request->all(), [ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:8|confirmed', ]); $validator->message('email.required', '邮箱不能为空'); if ($validator->fails()) { return response()->json([ 'status' => 'error', 'message' => $validator->errors(), ], 422); }
在上面的示例中,使用message()
|
getrennt, das die Validierungsparameter der Regel enthält. Beispielsweise gibt required|string|max:255
an, dass das Feld erforderlich ist, vom Typ „String“ ist und eine maximale Länge von 255 Zeichen hat. unique:users
bedeutet, die Eindeutigkeit dieses Felds in der Tabelle users
zu überprüfen. Wenn die Überprüfung fehlschlägt, wird automatisch eine Fehlermeldung zurückgegeben. Wenn die Überprüfung erfolgreich ist, wird die folgende Codelogik weiterhin ausgeführt. 🎜Validator::make()
, um eine Validierungsinstanz zu erstellen. Im Gegensatz zur Formularvalidierung erfordert die Methode make()
die Übergabe von zwei Parametern: Validierungsdaten und Validierungsregeln. Wenn die Validierung fehlschlägt, muss eine JSON-Antwort mit Fehlerinformationen zurückgegeben werden. Wenn die Überprüfung erfolgreich ist, wird die folgende Codelogik weiterhin ausgeführt. 🎜strong_password
mit der Methode Validator::extend()
erstellt . Diese Methode akzeptiert zwei Parameter: den Regelnamen und eine Abschlussfunktion, die vier Parameter akzeptiert: Validierungsfeldname, Validierungsfeldwert, Validierungsparameter und Validatorobjekt. 🎜🎜Nachdem Sie die benutzerdefinierten Regeln definiert haben, müssen Sie die benutzerdefinierten Regeln in der Validator-Instanz verwenden. Wie im obigen Code gezeigt, bedeutet min:8|strong_password
, dass das Passwort mindestens 8 Zeichen lang sein und mindestens einen Groß- und Kleinbuchstaben, eine Zahl und ein Sonderzeichen enthalten muss (außer unterstreichen_). 🎜message()
verwenden, um Fehlermeldungen anzupassen. 🎜🎜Das Folgende ist ein Beispiel für die Anpassung der Validierungsfehlermeldung: 🎜rrreee🎜Im obigen Beispiel verwenden Sie die Methode message()
, um die Fehlermeldung anzupassen. Diese Methode akzeptiert zwei Parameter: den Namen der Validierungsregel und eine benutzerdefinierte Fehlermeldung. 🎜🎜Die oben genannten sind häufig verwendete Verifizierungsmethoden in Laravel. Beim Verfassen von Bewerbungen kann durch den korrekten Einsatz von Verifizierungsmethoden die Richtigkeit und Sicherheit der Daten wirksam gewährleistet werden. 🎜Das obige ist der detaillierte Inhalt vonVerifizierungsmethode in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!