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

提交按钮不调用控制器功能 - Laravel

提交按钮不调用控制器功能 - Laravel

PHP
扬帆大鱼 2023-04-15 10:06:01
我正在尝试创建一个表单来存储一些数据。但是,当我单击提交按钮时,除了刷新页面外没有任何反应。请求被触发(显示在 DevTools -> Network 中)。路线应该没问题,因为它在一个小时前工作,现在不行了。我从表单中删除了每个输入,只是为了看看是否可以从控制器调用存储函数。然而,没有运气。表格:<form method="POST" action="{{route('bookings.store')}}" enctype="multipart/form-data">            @csrf<input type="submit"/></form>控制器(应该只在页面上打印字符串,但没有):public function store(Request $request)    {        $this->validate($request, [            'nume' => 'required',            'description' => 'required'        ]);        return "wtf";路线清单:| Domain | Method    | URI                     | Name             | Action                                                                 | Middleware   |+--------+-----------+-------------------------+------------------+------------------------------------------------------------------------+--------------+|        | GET|HEAD  | /                       |                  | Closure                                                                | web          ||        | GET|HEAD  | about                   | about            | App\Http\Controllers\PageController@about                              | web          ||        | GET|HEAD  | api/user                |                  | Closure                                                                | api,auth:api ||        | POST      | bookings                | bookings.store   | App\Http\Controllers\BookingController@store                           | web,auth     ||        | GET|HEAD  | bookings                | bookings.index   | App\Http\Controllers\BookingController@index                           | web          ||        | GET|HEAD  | bookings/create         | bookings.create  | App\Http\Controllers\BookingController@create                          | web,auth     ||        | PUT|PATCH | bookings/{booking}      | bookings.update  | App\Http\Controllers\BookingController@update                          | web,auth     |
查看完整描述

1 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

使用提供的代码,我看到的错误是$this->validate()控制器中的函数调用失败,因此,它必须抛出ValidationException。

当抛出验证异常并且没有try{} catch{}使用时,默认行为由 Laravel 的Handler类决定:

  • 第 203-205 行:如果抛出的异常是 ValidationException。

  • 第 254-263 行:调用invalid()HTML 或invalidJson()JSON 响应。

  • 第 272-277 行(如果调用了 invalid()):重定向回会话中闪现的错误。

  • 第 286-292 行(如果调用了 invalidJson()):返回有错误的 JSON 对象。

在了解了 ValidationException 的工作原理之后,现在查看您的代码,我们知道验证失败,因此,您被“重定向回”(看起来像刷新)并且没有打印错误,因为它们在会议。

你能做什么?

要查看错误,您可以打印它们,要通过验证,只需再次添加表单输入:)


查看完整回答
反对 回复 2023-04-15
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

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