如何检查Laravel中的数组元素是否为空?

How to check whether array elements are empty in Laravel?

我正在通过数组将表单中的数据存储到 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');
}

您可以为此使用 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 将确保已提供这些字段,如果没有,它将 return 做出适当的响应。例如,如果这是一个 API 调用,它将 return 一个包含错误消息的 422 响应。或者,如果它不是一个 API 调用,它将 return 用户转到上一页并将错误存储在会话中以供您检索。

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