我们正在使用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框架。
但是这个东西非常有用,我还在努力找到一个像表单请求验证这样的好解决方案。
答案 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的后端而不是会话中使用。