我手动创建了Validator
,但我找不到获取验证数据的方法
对于Request
,经验证的数据从$request->validate([...])
返回
对于FormRequest
,它从$formRequest->validated()
返回
但是对于Validator
,我没有看到类似上述方法的方法。
答案 0 :(得分:4)
假设您正在使用Validator外观:
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
答案 1 :(得分:3)
如果将Validator门面与make
一起使用,它将返回验证器实例。此验证程序实例具有validate()
,fails()
等方法。您可以在验证器类或the laravel api-documentation中查看这些方法。
答案 2 :(得分:1)
编写验证逻辑
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 -->