【问题标题】:Laravel 5 - Validate Multiple Request - do all Requests at the same timeLaravel 5 - 验证多个请求 - 同时执行所有请求
【发布时间】:2015-11-25 11:31:04
【问题描述】:

来自here的继续讨论

如果我们有两个请求,例如:

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

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

【问题讨论】:

标签: php validation request laravel-5.1


【解决方案1】:

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

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

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

类似这样的:

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
}

希望对你有帮助

【讨论】:

  • 这是一个有效的解决方法,但不是我所希望的。不过,正如@lukasgeiter 指出的那样,使用请求可能无法完成。我会投赞成票,但暂时没有回答。
猜你喜欢
  • 2015-08-07
  • 2015-12-24
  • 2023-03-14
  • 2018-06-30
  • 2016-09-20
  • 2021-07-22
  • 2020-10-01
  • 2017-11-21
  • 2020-01-13
相关资源
最近更新 更多