无法在流明上运行表单请求验证

时间:2017-04-07 07:02:38

标签: php laravel lumen

我们正在使用Laravel进行表单请求验证。我正在尝试使用与流明相同的请求,但它无法正常工作。

UserController中

<?php

namespace App\Http\Controllers;

use App\Http\Requests\User\UserPostRequest;
use App\Macx\Logic\Interfaces\IUserLogic;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class UserController extends Controller
{
    private $userLogic;
    public function __construct(IUserLogic $userLogic)
    {
        $this->userLogic = $userLogic;
    }

    public function post(UserPostRequest $request)
    {
        return $this->userLogic->post(Auth::user(), $request->all());
    }
}

UserPostRequest

<?php

namespace App\Http\Requests\User;

use Illuminate\Support\Facades\Request;

    class UserPostRequest extends Request
    {
        /**
         * Determine if the user is authorized to make this request.
         *
         *
         * @return bool
         */
        public function authorize()
        {
            return true;
        }


        /**
         * Get the validation rules that apply to the request.
         *
         * @return array
         */
        public function rules()
        {
            return [
                'name'=>'required|min:3|max:255',
                'surname'=>'required|min:3|max:255',
                'email'=>'required|email|unique:companies',
            ];
        }
    }

但是当我使用某些帖子数据调用 / api / user / 时,我收到此错误:

Call to undefined method App\Http\Requests\User\UserPostRequest::all()

注意: 我刚刚看到流明不支持表单请求验证,如文档中所述:https://lumen.laravel.com/docs/5.4/validation

Lumen不支持表单请求。如果您想使用表单请求,则应使用完整的Laravel框架。

但是这个东西非常有用,我还在努力找到一个像表单请求验证这样的好解决方案。

2 个答案:

答案 0 :(得分:1)

Lumen不支持表单请求。如果您想使用表单请求,则应使用完整的Laravel框架。 enter link description here

您可以在流明中使用https://github.com/ssi-anik/form-request

答案 1 :(得分:0)

Lumen是执行基于API的项目的优秀微框架。我今年一直在做多个流明项目。客户和开发人员都喜欢它,因为它具有使用REST API的灵活性。如果您还不熟悉Lumen,那就是Laravel的精简版,它以速度为目标。 Lumen包含Laravel中的大多数功能,但除此之外,它也删除了一些功能,例如Session Driver,它可以帮助框架提高速度。流明安装不包括会话,这是因为令牌主要在基于API的后端而不是会话中使用。

关注Link