📜  如果存在,如何验证数据在 laravel 中不能为空 - PHP (1)

📅  最后修改于: 2023-12-03 15:38:58.724000             🧑  作者: Mango

如何验证数据在 Laravel 中不能为空

在开发中,验证输入数据的有效性至关重要,特别是当您需要确保表单中包含所有必需的字段时。Laravel 提供了易于使用且功能强大的验证器。

下面我们来看如何使用 Laravel 的验证器验证字段不能为空。

使用 Required 验证规则

required 验证规则是 Laravel 内置验证规则之一,该规则可用于验证字段是否为空。在验证规则中,您可以使用 required 规则指定字段是必需的,并且不能有一个空值。

我们来看一个使用 required 规则验证字段非空的示例:

$validator = Validator::make($request->all(), [
    'title' => 'required',
    'body' => 'required',
]);

if ($validator->fails()) {
    return redirect('post/create')
                ->withErrors($validator)
                ->withInput();
}

在上面的示例中,我们使用 Laravel 的 Validator 类创建了一个验证器实例,然后使用 required 规则验证标题和正文字段是否为空。如果验证失败,则返回到表单页面,并使用错误消息和输入数据填充表单。

使用 Required_if 规则

required_if 验证规则可用于验证字段是否为空,但只有在符合某些条件时。例如,在填写联系人表单时,如果用户选择了电话,则电话号码字段必须填写,否则可以为空。

我们来看一个使用 required_if 规则验证字段非空的示例:

$validator = Validator::make($request->all(), [
    'contact_method' => 'required',
    'phone' => 'required_if:contact_method,phone',
    'email' => 'required_if:contact_method,email',
]);

if ($validator->fails()) {
    return redirect('contact')
                ->withErrors($validator)
                ->withInput();
}

在上面的示例中,我们使用 required_if 规则验证电话号码和电子邮件地址字段,但只有在联系方式为电话或电子邮件地址时。如果验证失败,则返回到表单页面,并使用错误消息和输入数据填充表单。

使用 Filled 验证规则

当您想验证字段是否存在但不想验证其值时,可以使用 filled 规则。例如,在上传文件时,您可能需要确保文件上传表单中包含文件字段,但不需要验证其内容。

我们来看一个使用 filled 规则验证字段存在的示例:

$validator = Validator::make($request->all(), [
    'photo' => 'filled',
]);

if ($validator->fails()) {
    return redirect('upload')
                ->withErrors($validator)
                ->withInput();
}

在上面的示例中,我们使用 filled 规则验证照片字段是否存在。如果验证失败,则返回到上传表单页面,并使用错误消息和输入数据填充表单。

总结

在本文中,我们介绍了 Laravel 中验证器来验证字段是否为空的三种方法。使用这些规则可以轻松地保持您的数据记录的完整性和一致性。Laravel 的验证器也支持许多其他有用的规则,如邮箱验证和密码验证。如果您需要更多帮助,请查看 Laravel 官方文档。