php - 如何在 Laravel 中从 HTML 表单填充字段?

标签 php laravel forms laravel-5.4 contact-form

我正在构建一个表单,我想在其中填充来自表单的字段(我将其命名为posting.blade.php)

我为此使用的 Controller 是:

public function store(Request $request)
{
    $this->validate($request, [
    'name' => 'required',
    'email' => 'required|email',
    'number' => 'required',
    'city' => 'required',
    'post' => 'required'
    ]);

    Mail::send('emails.posting-message', [
    'msg'=> $request->message
    ], function($mail) use($request) {
        $mail->from($request->email, $request->name);
        $mail->to('helloworld@gmail.com')->subject('Contact Message');
    });
    return redirect()->back()->with('flash_message', 'Thank you for your message');
}


问题陈述:

当前 Controller 不返回任何内容,因为在 'msg'=> $request->message 行中,验证中没有消息。但是如果我使用

'msg'=> $request->name(返回名称)

我想知道我应该在 Controller 中进行哪些更改,以便它返回验证中存在的每个字段。

我试过这个,但它只返回最后一个发布的值。

       'msg'=> $request->name,
       'msg'=> $request->email,
       'msg'=> $request->number,
       'msg'=> $request->city,
       'msg'=> $request->post

最佳答案

首先,您需要将 ->withInput() 添加到您的重定向:

return redirect()->back()->with('flash_message', 'Thank you for your message')->withInput();

这会将所有提交的表单字段闪烁到 session 中。

重定向后,要获取名称为 title 的表单字段的值,例如,您可以使用 old() 帮助程序,例如:

<input type="text" name="title" value="{{ old('title') }}">

您还可以将第二个参数传递给助手:

<input type="text" name="title" value="{{ old('title', $post->title) }}">

你明白了。

关于php - 如何在 Laravel 中从 HTML 表单填充字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51974693/

相关文章:

php - 将php函数放在单独的文件中并从另一个文件中调用

php - PDO 拒绝删除一行数据(具体表中)

php - Laravel Force HTTPS 重定向你太多次

php - Laravel 框架对于中型项目是否足够稳定,还是我应该坚持使用更稳定的 Yii?

javascript - 在 Angular Directive(指令)上提交表单之前更改输入值

php - 将联系表单的信息保存在 Laravel 的数据库中

Php如何发送带有粗体文本的邮件

Laravel 查询生成器 : How do I sort results by date - first with ascending order by future dates and then by descending order by past dates?

php - 我应该在 Laravel 中哪里放置复杂查询?

javascript - 如何将一个类应用于所有按钮?