【问题标题】:Laravel Collective form submit not routing properlyLaravel Collective 表单提交未正确路由
【发布时间】:2021-10-25 18:32:41
【问题描述】:

我使用 Laravel Collective 的表单上的提交按钮不起作用。按下提交后,表单刷新时表单信息保留,数据库中没有任何内容。根据生成的 HTML,它似乎并没有真正去路由,但我似乎无法弄清楚让它真正通过 'store' 路由。

create.blade.php:

{!! Form::open(['route' => 'items.store']) !!}
       <div class="form-group">
           {!! Form::submit('Submit') !!}
       </div>
{!! Form::close() !!}

物品控制器:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Item;

class ItemController extends Controller
{
    public function store(Request $request)
    {
        $request->validate([
            'item_name'=>'required',
            'item_price'=> 'required|integer',
            'item_category' => 'required',
            'item_url' => 'required'
            ]);
        $item = new Item([
            'item_name' => $request->get('item_name'),
            'item_price'=> $request->get('item_price'),
            'item_category'=> $request->get('item_category'),
            'item_url' => $request->get('item_url')
             ]);
        $item->save();
        return redirect('/items')->with('success', 'Item has been added');
    }
}

web.php:

Route::resource('items', 'ItemController');

生成的 HTML:

<form method="POST" action="https://website.com/public/items" accept-charset="UTF-8"><input name="_token" type="hidden" value="...">

        <div class="form-group">
            <input type="submit" value="Submit">
        </div>

    </form>

【问题讨论】:

  • 您可能想在此处进行更多故障排除。调出您的开发者控制台,并查看“网络”选项卡以确保它正在发布到正确的 URL,并获得正确的响应。尝试使用Log::info(); 在您的商店功能中进行一些日志记录,并检查/storage/logs 中的日志以获取结果。确保 Item 具有可填充的列,并且在返回成功之前确保 $item 具有 id。
  • 尝试将您的操作表单更改为:action="{{route('items.create')}}"
  • 我只能想到一个验证错误。旁注:最好使用$request-&gt;input() 作为文档中的示例而不是$request-&gt;get()
  • @aynber 看起来试图将item_price 验证为整数(我从网上某处获得)是什么让事情发生了变化。感谢您提供有关如何记录事物的说明。这帮了很多忙。
  • 请问您的 html 输入在哪里?

标签: php laravel


【解决方案1】:

如果你从开发者工具中检查你的网络,发现状态码是 302 重定向,那么肯定是验证错误。尝试通过评论验证规则并检查其是否有效。

【讨论】:

    猜你喜欢
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 2017-12-21
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 2014-08-07
    相关资源
    最近更新 更多