📜  validation.required laravel - PHP (1)

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

Laravel - Validation Required

简介

在 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() 方法来对表单字段进行验证。

在验证规则数组中,我们指定了三个字段:nameemailpassword。这三个字段都要求是必填的。

如果提交的表单数据不符合验证规则,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" 验证器可以帮助我们在表单提交时确保每个必填字段被填写。我们还可以使用可选参数来使验证更加精细化。该验证器还提供了很多其他有用的特性,如自定义错误消息、自定义规则等等,我们推荐读者自行阅读文档以便更好地学习和理解。