如何从 Laravel 中的 Validator 实例获取经过验证的数据?

How to get validated data from Validator instance in Laravel?

我手动创建了一个 Validator,但我找不到获取验证数据的方法。
对于 Request,验证数据 return 来自 $request->validate([...])
对于 FormRequest,它是 return 来自 $formRequest->validated()
但是对于 Validator,我没有看到像上面那两个那样的方法。

编写验证逻辑

public function store(Request $request)
{
    $validatedData = $request->validate([
    'title' => 'required|unique:posts|max:255',
    'body' => 'required',
 ]);

 // The blog post is valid...
}

显示验证错误

<!-- /resources/views/post/create.blade.php -->

<h1>Create Post</h1>

@if ($errors->any())
    <div class="alert alert-danger">
       <ul>
          @foreach ($errors->all() as $error)
              <li>{{ $error }}</li>
          @endforeach
      </ul>
   </div>
@endif

<!-- Create Post Form -->

如果您将 Validator facade 与 make 一起使用,它将 return 一个验证器实例。此验证器实例具有 validate()fails() 等方法。您可以在验证器 class 或 the laravel api-documentation.

中查找这些方法

假设您使用的是验证器外观:

use Illuminate\Support\Facades\Validator;

$validator = Validator::make($request->all(), $rules, $messages, $attributes);

if ($validator->fails()) {
    return $validator->errors();
}

//If validation passes, return valid fields
return $validator->valid();

https://laravel.com/api/5.5/Illuminate/Validation/Validator.html#method_valid