Laravel 5 - 验证多个请求 - 同时执行所有请求

时间:2015-08-31 12:20:01

标签: php validation request laravel-5.1

here

继续讨论

如果我们有两个请求:

public function store(FirstRequest $request, SecondRequest $request) { ... }

是否可以同时运行两个请求而不是一个接一个地运行。这样,如果验证没有通过FirstRequest,则SecondRequest将不会启动,只有在FirstRequest通过后才会创建错误消息而没有任何错误。

1 个答案:

答案 0 :(得分:1)

我认为你可以“手动创建验证器”

http://laravel.com/docs/5.1/validation#other-validation-approaches

基本上在您的方法中,不使用请求注入,直接在方法中使用规则,并为每组规则调用$ validator-> failed()方法。

这样的事情:

public function store(Request $request){

    $rulesFirstRequest = ['field1' => 'required', 'field2' => 'required'];
    $rulesSecondRequest = ['field12' => 'required', 'field22' => 'required'];

    $validator1 = Validator::make($request->all(), $rulesFirstRequest);
    $validator2 = Validator::make($request->all(), $rulesSecondRequest);

    if ($validator1->fails() && $validator2->fails()) {
      //Do stuff and return with errors
   }
   // return with success
}

希望有所帮助