【问题标题】:Unable to submit form data in laravellaravel 无法提交表单数据
【发布时间】:2018-01-11 16:15:21
【问题描述】:

我正在使用 laravel。下面是我的表格。

<h1>New Comment</h1>
<form method="post">

Comment: <input type="text" size="128" name="comment" value="{{old('body')}}" /></p>

    @if ($errors->has('body'))
    <p class="warning">Comment cannot be empty.</p>
    @endif

    <p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
    {{ csrf_field() }}
</form>

我的路线:

Route::post('/{id}', 'FilmsController@addComment')->name('addComment');

我的控制器:

public function addComment(Request $request)
{
    $request->validate([
        'body' => 'required',
    ]);

    $entry = new Comment();
    $entry->body = $request->body;
    $entry->save();

    return redirect('/');

我的架构包括“body”...$table-&gt;string('body');

单击提交时,我看到了警告消息。尝试更新和添加新评论时也会发生同样的情况。

【问题讨论】:

  • 您看到的错误是什么?

标签: php sql forms laravel


【解决方案1】:

您只需在验证时将 name="comment" 更改为 name="body" 并要求表单没有的 body 字段。

<input type="text" size="128" name="body" value="{{old('body')}}" />

【讨论】:

    【解决方案2】:

    因为元素的名字是comment,所以改成这样:

    'body' => 'required',
    

    收件人:

    'comment' => 'required',
    

    还有这个:

    $entry->body = $request->body;
    

    收件人:

    $entry->comment = $request->comment;
    

    另外,在表单中添加一个动作,例如:

    <form method="post" action="/add-comment">
    

    路线应该是:

    Route::post('add-comment', 'FilmsController@addComment')->name('addComment');
    

    【讨论】:

    • 感谢您的回复。我最初有,但收到此错误:SQLSTATE [HY000]:一般错误:1 没有这样的列:评论(SQL:更新“cmets”设置“updated_at”= 2018-01-11 16:22:45,“评论” = 我喜欢这部电影!!! where "id" = 1)
    • @Dan 如果你有body 列,只需将评论更改为正文。
    • 谢谢阿列克谢。我只需要在 html 上也将其更改:name="comment" 为 name="body"。感谢您的帮助!
    • @Dan 很高兴它有帮助。
    猜你喜欢
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 2017-02-23
    • 2012-12-04
    • 2013-01-25
    • 1970-01-01
    相关资源
    最近更新 更多