-1

我正在通过数组将表单中的数据存储到 mysql 数据库中。现在,如果他错过了任何字段,我想提醒用户。那我要怎么提醒他呢?

public function store(Request $request)
{
    $holiday = array (
        'firstname' => $request->firstname,
        'lastname' => $request->lastname,
        'startdate' => $request->startdate,
        'enddate' => $request->enddate
    );

    Holiday::create($holiday);

    return redirect()->route('holiday.index');
}
4

1 回答 1

2

为此,您可以使用 Laravel 的内置验证功能。在您的情况下,您可能想要执行以下操作:

public function store(Request $request)
{
    $holiday = $request->validate([
        'firstname' => 'required',
        'lastname' => 'required',
        'startdate' => 'required',
        'enddate' => 'required'
    ]);

    Holiday::create($holiday);

    return redirect()->route('holiday.index');
}

Laravel 将确保这些字段已经提供,如果没有,它将返回适当的响应。例如,如果这是一个 API 调用,它将返回一个422包含错误消息的响应。或者,如果它不是一个 API 调用,它会将用户返回到上一页并将错误存储在会话中供您检索.

我建议阅读更多关于 Laravel 的验证技术以及你可以用它做的所有事情。您可以在此处找到有关它的更多信息 - https://laravel.com/docs/6.x/validation

于 2020-01-09T13:34:40.140 回答