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

Laravel,在控制器中处理验证错误

Laravel,在控制器中处理验证错误

PHP
倚天杖 2022-06-17 17:10:09
所以我正在使用以下代码验证表单的输入:$request->validate([    'title' => 'bail|required|max:255',    'body' => 'required',]);所以基本上,表单中有两个字段,一个标题和一个正文,它们具有上述规则。现在,如果验证失败,我想直接在控制器中捕获错误,然后再重定向到视图,以便我可以发送错误消息作为对 Post 请求的响应。最好的方法是什么?我知道错误会被推送到会话中,但这是视图要处理的,但我想在控制器本身中处理此类错误。谢谢
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

如果您查看官方文档,您会发现您可以以不同的方式处理输入验证。


在您的情况下,最好的解决方案是手动创建验证器,以便您可以在控制器内设置自己的逻辑。


如果你不想在请求上使用 validate 方法,你可以使用 Validator 门面手动创建一个验证器实例。


这里有一个小例子:


public function store(Request $request)

{

    $validator = Validator::make($request->all(), [

        'title' => 'bail|required|max:255',

        'body' => 'required',

    ]);


    // Check validation failure

    if ($validator->fails()) {

       // [...]

    }


    // Check validation success

    if ($validator->passes()) {

       // [...]

    }


    // Retrieve errors message bag

    $errors = $validator->errors();

}


查看完整回答
反对 回复 2022-06-17
  • 1 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号