📅  最后修改于: 2023-12-03 15:38:58.724000             🧑  作者: Mango
在开发中,验证输入数据的有效性至关重要,特别是当您需要确保表单中包含所有必需的字段时。Laravel 提供了易于使用且功能强大的验证器。
下面我们来看如何使用 Laravel 的验证器验证字段不能为空。
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
规则验证字段非空的示例:
$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
规则验证字段存在的示例:
$validator = Validator::make($request->all(), [
'photo' => 'filled',
]);
if ($validator->fails()) {
return redirect('upload')
->withErrors($validator)
->withInput();
}
在上面的示例中,我们使用 filled
规则验证照片字段是否存在。如果验证失败,则返回到上传表单页面,并使用错误消息和输入数据填充表单。
在本文中,我们介绍了 Laravel 中验证器来验证字段是否为空的三种方法。使用这些规则可以轻松地保持您的数据记录的完整性和一致性。Laravel 的验证器也支持许多其他有用的规则,如邮箱验证和密码验证。如果您需要更多帮助,请查看 Laravel 官方文档。