为了账号安全,请及时绑定邮箱和手机立即绑定

在错误页面上显示表单错误并在 Laravel 中进行验证

在错误页面上显示表单错误并在 Laravel 中进行验证

PHP
噜噜哒 2022-07-16 09:49:07
如果$request->SN无效或为空,我会收到如下错误。试图获取非对象的属性Ticket::create([    'user_id' => Laptop::where('SN', $request->SN)->first()->user_id,    'laptop_id' => Laptop::where('SN', $request->SN)->first()->id,    'title' => $request->title,    'body' => $request->body,    'laptop_ww' => $request->laptop_ww]);如何显示自定义错误而不是此异常?默认情况下,它会转到状态为 500 的错误页面。
查看完整描述

2 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

public function save(Request $request)

{

    try{

    Ticket::create([

        'user_id' => Laptop::where('SN', $request->SN)->first()->user_id,

        'laptop_id' => Laptop::where('SN', $request->SN)->first()->id,

        'title' => $request->title,

        'body' => $request->body,

        'laptop_ww' => $request->laptop_ww

    return view(your_address, "successfully saved");

    ]);

    }catch(Exception ex){

    return view(your_address, "Custom error here");

    }

  }


查看完整回答
反对 回复 2022-07-16
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

试试下面 -


$laptop = Laptop::where('SN', $request->SN)->first();


if(null === $laptop){

    throw new Exception('No laptop found with SN'.$request->SN);

}


if(null === $laptop->user_id){

    throw new Exception('Laptop with SN:'.$request->SN.' does has any user'.);

}


Ticket::create([

            'user_id' => $laptop->user_id,

            'laptop_id' => $laptop->id,

            'title' => $request->title,

            'body' => $request->body,

            'laptop_ww' => $request->laptop_ww

        ]);

您将保存查询并处理错误。


查看完整回答
反对 回复 2022-07-16
  • 2 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信