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

验证后避免 Laravel 重定向

验证后避免 Laravel 重定向

PHP
达令说 2023-07-30 14:01:16
我正在 Laravel 控制器上进行简单的验证:public function updateInfo(Request $request) {        $validator = $request->validate([            "name" => ["string", "nullable"],            "email" => ["email", "nullable"],            "currentPassword" => ["password:api"]        ]);        return json_encode($validator);}我的问题是,如果失败,此验证会将我重定向到主页,并且我正在通过 AJAX 发出请求,我知道 Laravel 会检测到何时通过 Ajax 发出请求,但它仅在正常请求时才有效(典型请求在我发送了标头,Content Type application/json并在正文中发送了一个普通的 JSON但是 Laravel 无法检测 Ajax 请求何时不是Content Type application/json,我使用的FormData()是 JavaScript 对象,所以,我不发送 header Content Type application/json,并在正文中发送 FormData 对象。我认为它模拟了重新加载页面的典型 HTTP 请求,因此 Laravel 无法检测到它,但它给我的 ajax 响应带来了麻烦,因为 Laravel 响应了重定向,并且在我的 Ajax 响应中我捕获了 HTML 代码主页的。我能做些什么?
查看完整描述

1 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

您可以将validator()辅助函数与validate()方法一起使用,它将帮助您进行 AJAX 调用和普通调用


validator($request->all(), [

    "name" => ["string", "nullable"],

    "email" => ["email", "nullable"],

    "currentPassword" => ["password:api"]

])->validate();


查看完整回答
反对 回复 2023-07-30
  • 1 回答
  • 0 关注
  • 97 浏览

添加回答

举报

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