📅  最后修改于: 2023-12-03 15:05:47.570000             🧑  作者: Mango
在 Laravel 中,使用表单时,校验用户提交的数据是很重要的。Laravel 提供了很多内置的验证器,其中 "required
" 是常用的一个。这个验证器是用来检查某个表单字段是否被填写,如果没有填写,则会返回错误信息。
下面是一个简单的示例,展示了如何使用 "required
" 验证器对表单字段进行校验。
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required',
'email' => 'required|email',
'password' => 'required',
]);
// 如果验证通过,则可以获得验证后的数据
$name = $validatedData['name'];
$email = $validatedData['email'];
$password = $validatedData['password'];
// 将验证后的数据用于其他操作
}
在这个例子中,我们在 store()
方法中接收了一个 Request
对象,然后使用 validate()
方法来对表单字段进行验证。
在验证规则数组中,我们指定了三个字段:name
、email
和 password
。这三个字段都要求是必填的。
如果提交的表单数据不符合验证规则,Laravel 会自动返回错误信息。
除了必填字段外,验证器还提供了一些可选的参数,以进行更精细的控制。下面这些是可选的参数:
required_if
:只有当指定字段的值满足某个条件时,才要求当前字段必须填写。required_unless
:只有当指定字段的值不满足某个条件时,才要求当前字段必须填写。required_with
:只有当某些指定字段被填写时,才要求当前字段必须填写。required_with_all
:只有当所有指定字段都被填写时,才要求当前字段必须填写。required_without
:只有当某些指定字段没有被填写时,才要求当前字段必须填写。required_without_all
:只有当所有指定字段没有被填写时,才要求当前字段必须填写。在这些可选参数中,required_if
是最常用的。它可以让我们在指定条件成立时,要求用户填写指定字段。
下面这个示例展示了如何使用 required_if
验证器:
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required',
'email' => 'required|email',
'phone' => 'required_if:contact_by_phone,true',
]);
// 如果验证通过,则可以获得验证后的数据
$name = $validatedData['name'];
$email = $validatedData['email'];
$phone = $validatedData['phone'];
// 将验证后的数据用于其他操作
}
在这个例子中,我们需要用户输入一个电话号码,但只有当用户选择了“以电话联系”时才需要输入。因此我们使用了 required_if
验证器,其中 contact_by_phone
是一个选择框的名称,它的值为 true
时,phone
字段变成必填项。
在 Laravel 中使用 "required
" 验证器可以帮助我们在表单提交时确保每个必填字段被填写。我们还可以使用可选参数来使验证更加精细化。该验证器还提供了很多其他有用的特性,如自定义错误消息、自定义规则等等,我们推荐读者自行阅读文档以便更好地学习和理解。