【问题标题】:Laravel 5 MethodNotAllowedHttpException after validation fails (going back to POST)验证失败后的 Laravel 5 MethodNotAllowedHttpException(返回 POST)
【发布时间】:2017-02-20 22:42:03
【问题描述】:

我会尽量表达清楚……我是 Laravel 的新手……

流程:

1) 我有一个表单视图,客户应该在哪里输入促销信息;我有一个 PromoRequest 来验证这个促销代码;

2) 我有一个表单视图,如果促销代码通过规则,客户应该填写他的数据;我有一个 CustRequest 来验证他的日期(例如“电子邮件”=>“必需”等)

3) 最后我有一个确认视图来显示带有验证按钮的客户数据;如果找到,我将数据存储在数据库中,然后发送电子邮件

问题:

1) 第一步工作正常

2) 在第二个视图中,如果我的验证规则失败(例如没有电子邮件),我会得到一个 MethodNotAllowedHttpException 我知道如果题字验证失败(没有电子邮件),它会返回到我的题字表单,这是一种 POST 方法……这会带来问题……

我怎样才能解决这个问题???

谢谢

【问题讨论】:

  • 这通常是由向 GET 路由发出 POST 请求引起的,反之亦然。你能再解释一下吗?您是否在 POST 路由中显示表单?

标签: laravel validation methods laravel-5 laravel-5.3


【解决方案1】:

这可能为时已晚,但是我遇到了这个问题,因为我遇到了同样的问题,并认为我会描述我做错了什么......

对我来说,我正在建立一个用户提交照片的网站。当用户点击“添加照片”时,它会将他们带到一个页面,他们必须在其中选中一个框以接受法律免责声明。这个带有复选框的表单是一个 POST 请求。在他们接受它之后,他们将被重定向到提交页面......这也是一个带有 POST 请求的表格。这是我的问题:背靠背 POST 请求页面。如果用户在提交表单上输入了无效数据,或者根本没有在字段中输入数据,Laravel 会尝试在浏览器中点击“后退按钮”并保持表单填写用户输入的数据。问题是“返回”按钮(或用户进入此页面的方式)来自 POST 请求,因此无法执行此操作。它给了我上面描述的错误。一旦我将法律接受页面切换到 GET 请求表单并更新路线以匹配一切,一切都开始正常工作。这是我的一个愚蠢的错误,我只是希望减轻其他人在学习 Laravel 开发时的挫败感。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-26
    • 2019-02-12
    • 2019-11-16
    • 2016-05-23
    • 2021-11-30
    • 2018-10-01
    • 2017-03-14
    • 2016-02-12
    相关资源
    最近更新 更多