猿问

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

我正在尝试创建一个表单来存储一些数据。但是,当我单击提交按钮时,除了刷新页面外没有任何反应。请求被触发(显示在 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     |



扬帆大鱼
浏览 89回答 1
1回答

神不在的星期二

使用提供的代码,我看到的错误是$this->validate()控制器中的函数调用失败,因此,它必须抛出ValidationException。当抛出验证异常并且没有try{} catch{}使用时,默认行为由 Laravel 的Handler类决定:第 203-205 行:如果抛出的异常是 ValidationException。第 254-263 行:调用invalid()HTML 或invalidJson()JSON 响应。第 272-277 行(如果调用了 invalid()):重定向回会话中闪现的错误。第 286-292 行(如果调用了 invalidJson()):返回有错误的 JSON 对象。在了解了 ValidationException 的工作原理之后,现在查看您的代码,我们知道验证失败,因此,您被“重定向回”(看起来像刷新)并且没有打印错误,因为它们在会议。你能做什么?要查看错误,您可以打印它们,要通过验证,只需再次添加表单输入:)
随时随地看视频慕课网APP
我要回答