【发布时间】:2019-10-07 16:17:30
【问题描述】:
我在这里关注了文档:
https://laravel.com/docs/5.8/validation#form-request-validation
我创建了一个自定义请求 StoreName
php artisan make:request StoreName
然后添加以下验证规则:
public function rules()
{
return [
'name' => 'required|max:255|min:4'
];
}
然后根据我的控制器中的文档类型提示:
public function store(StoreName $request)
{
$validated = $request->validated();
}
但是,当我向这个端点发送一个 post 请求时,我从 Laravel 返回了一个 403。当我删除 StoreName 自定义验证并简单地输入标准 Laravel Illuminate\Http\Request 时,请求工作正常(显然删除了 valid() 方法之后)。
所以 403 来自我的自定义验证请求,我不知道为什么?我检查了 StoreName.php 文件的文件权限,它们与项目中的所有其他文件相同。
我在我的开发服务器上使用php artisan serve,所以也没有时髦的 Apache/Nginx 配置覆盖东西。应用自定义验证请求时,除此之外的所有其他端点都可以工作。
可能是什么问题?
编辑:
值得注意的是,我也没有更改 Laravel 在新的自定义请求验证中生成的默认 authorize() 方法:
public function authorize()
{
return false;
}
【问题讨论】: