0
 public function post(Request $request){
        $validator = Validator::make($request->all(),[
            'title'=>'required',
            'job_type_id'=>'required|exists:job_type,id',
            'work_level_id'=>'required|exists:work_level,id',
            'no_of_candidate'=>'required',

         ]);

         if ( $validator->fails()) {
            return $this->validationErrors($validator->errors());
        }
}

这是我在控制器中编写的验证代码。我只想从控制器中删除此验证。这样我就可以像这样在 laravel 中进行相同的表单请求验证

 public function rules()
    {
        return [
            'name'=>'required|unique:course,name'
        ];
    }

    public function messages(){
        return [
            'name.required'=>__('message.validation.course.name'),
            'name.unique'=>__('message.validation.course.unique')
        ];
    }
4

1 回答 1

0

考虑到您使用的是 Lumen 8x(您可以在我发送的链接中更改版本),您可以在此处阅读的文档:

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

我继续说:

与 Laravel 不同,Lumen 提供了从 Route 闭包中访问 validate 方法:

use Illuminate\Http\Request;

$router->post('/user', function (Request $request) {
    $this->validate($request, [
        'name' => 'required',
        'email' => 'required|email|unique:users'
    ]);

    // Store User...
});

它还说:

当然,您可以像在 Laravel 中那样使用 Validator::make 外观方法自由地手动创建验证器实例。

于 2021-05-09T18:06:32.017 回答