Laravel 按方法名称验证表单请求

Laravel Form Request validation by method name

我有一个控制器有 5 个方法存储/重命名/复制/移动/删除

来自 POST 的不同形式。

我想像这样使用表单请求进行验证:

关于如何在不为每个表单创建请求表单文件的情况下验证我的所有表单的任何想法。

您可以使用 $this->route()->getActionName() 获取当前操作。 IE。 MyController@store, MyController@rename, MyController@delete, ...

然后在你的 SectionRequest 中你可以做这样的事情:

public function rules(){
    $arr = explode('@', $this->route()->getActionName());
    $method = $arr[1];  // The controller method

    switch ($method) {
       case 'store':
           // do something.
           break;
       case 'rename':
           // do something.
           break;
       case 'delete':
           // .... and so
    }
}