dtysql0586 2019-05-22 16:31
浏览 154

Laravel验证如何在没有try catch的情况下将Exception作为Json返回?

I'm bulding an exception log into my Laravel app to send mails or Telegram messages when an error identified as important is dispatched. Actually, I'm using a 'try catch' block on each of my controller functions to catch an exception dispathced by any part of my app. My question is, how does Laravel validation works to return exceptions as JSON response without using return sentences or try catch blocks on each call?

What I must do now into controller:

someAction();

try {
    Model::someFunction($params);
catch (MyCustomException $e)
    return json()->response($e->getMessage(), 500); // Return json error if fails
}

return anotherAction();

What I want to do into controller:

someAction();

Model::someFunction($params); // Return json error if fails and stop execution

return anotherAction();

What Laravel validation makes:

someAction();

$request->validate($validationRules); // Return json error if validation fails and stop execution

return anotherAction();
  • 写回答

1条回答 默认 最新

  • doujie4050 2019-05-22 17:58
    关注

    You can make a validator

    <?php
    
    use Validator;
    use Illuminate\Http\Request;
    
    class MyController extends Controller {
    
        public function myFunction(Request $request)
        {
            $validator = Validator::make($request->all(), [
                'foo' => 'required',
                'bar' => 'required'
            ]);
    
            if ($validator->passes()) {
    
            }
    
            if ($validator->fails()) {
    
            }
        }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿