【问题标题】:Lumen: Handle error message inside a Service LayerLumen:处理服务层内的错误消息
【发布时间】:2019-06-14 21:13:35
【问题描述】:

我正在尝试创建一个服务层,我想从我的服务类中抛出错误消息。

如果我在控制器内进行验证,它会按预期工作:

 $this->validate($request, [
            'nomeArtistico' => 'required|max:255',
            'email' => 'required|unique:pessoas',
        ]);

结果:

{"email":["email@hotmail.com already exists"]}

但如果我尝试验证在服务内

$validator =  Validator::make($request, $this->validationRules)->validate();

它只会抛出一个带有 HTML 默认错误消息的 500: (1/1) 验证异常 给定的数据无效。

【问题讨论】:

    标签: php lumen


    【解决方案1】:

    你可以在你的 catch 块上捕捉 ValidationException 并像这样扔它

    $rules = [
         'nomeArtistico' => 'required|max:255',
         'email' => 'required|unique:pessoas'
    ]
    
    $messages = [
         'required' => ':attribute is required.'
    ];
    
    try {
           $this->validate($request, $rules, $messages);
    }catch (ValidationException $validationException) {
           throw $validationException;
    }
    

    【讨论】:

      猜你喜欢
      • 2017-06-03
      • 2011-10-21
      • 2011-07-10
      • 1970-01-01
      • 2013-10-05
      • 2023-01-30
      • 2018-12-09
      • 2022-10-12
      • 1970-01-01
      相关资源
      最近更新 更多