ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
Laravel 通过 Validation 类让您可以简单、方便的验证数据正确性及查看相应的验证错误信息。 ## 基本验证例子 ~~~ $validator = Validator::make( ['name' => 'Dayle'], ['name' => 'required|min:5'] ); ~~~ 上文中传递给 make 这个方法的第一个参数用来设定所需要被验证的数据名称,第二个参数设定该数据可被接受的规则。 使用数组来定义规则 多个验证规则可以使用"|"符号分隔,或是单一数组作为单独的元素分隔。 ~~~ $validator = Validator::make( ['name' => 'Dayle'], ['name' => ['required', 'min:5']] ); ~~~ ## 验证多个字段 ~~~ $validator = Validator::make( [ 'name' => 'Dayle', 'password' => 'lamepassword', 'email' => 'email@example.com' ], [ 'name' => 'required', 'password' => 'required|min:8', 'email' => 'required|email|unique:users' ] ); ~~~ 当一个 Validator 实例被建立后,fails(或 passes) 这两个方法就可以在验证时使用,如下: ~~~ if ($validator->fails()) { // The given data did not pass validation } ~~~ 假如验证失败,您可以从验证器中接收错误信息。 ~~~ $messages = $validator->messages(); ~~~ 您可能不需要错误信息,只想取得无法通过验证的规则,您可以使用 failed 方法: ~~~ $failed = $validator->failed(); ~~~ ## 验证文件 Validator 类提供了一些规则用来验证文件,例如 size, mimes 等等。当需要验证文件时,您仅需将它们和您其他的数据一同送给验证器即可。 ## 验证后钩子 验证器也允许你在完成验证后增加回调函数。这也允许你可以进行更进一步的验证,甚至在消息集合中增加更多的错误信息。我们在验证器实例中使用 after 方法来作为开始: ~~~ $validator = Validator::make(...); $validator->after(function($validator) { if ($this->somethingElseIsInvalid()) { $validator->errors()->add('field', 'Something is wrong with this field!'); } }); if ($validator->fails()) { // } ~~~ 您可以根据需要为验证器增加任意的 after 回调函数。