0

我使用 Laravel-Form-Request 并且有两个问题:

1-当我创建表单请求时,要从控制器验证它,我不能使用

$request->validated()

当我使用它时,错误说:Call to a member function validated() on null

当我使用

$request->validate()

没有问题。但在Laravel 文档中说使用validated(). 那么问题出在哪里?

2-正如我所说,我使用validate()并且当一切(规则)都正常时继续,但是当匹配规则出现问题时,只需重定向到当前页面,但我想抛出异常。我该如何定义?

4

1 回答 1

1

当您$request->validated要检索已验证的请求正文的内容而不是验证请求时使用。执行请求验证它始终是validate方法

$rules = [];

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

if($validator->passes()){
    // here you will get all validated data
    $request_data = $request->validated();
}

如果你想抛出一个异常,你有Facadefails上的方法,Illuminate\Support\Facades\Validator所以你想检查验证是否失败并像这样抛出异常

if($validator->fails())}{
    throw new ThrowANewExceptionHere("Exception Message");
}
于 2021-08-07T08:00:08.457 回答