📜  laravel 验证不等于 - PHP (1)

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

Laravel 验证不等于 - PHP

在 Laravel 中,我们可以使用验证器来验证用户输入的数据。其中一个常见的验证场景是验证某个字段值不等于另一个字段值。本文将介绍如何在 Laravel 中实现这个验证场景。

使用不等于验证规则

为了验证一个字段值不等于另一个字段值,我们可以使用 Laravel 内置的 different 验证规则。该规则需要指定一个参数作为比较的值,可以是另一个字段的名称,也可以是一个固定的值。如果验证失败,会返回一个错误信息。

下面是一个示例代码片段:

$request->validate([
    'password' => 'required|string|min:6',
    'password_confirmation' => 'required|string|min:6|different:password',
]);

在上面的代码中,password 字段是必填的字符串,长度至少为 6;password_confirmation 字段也是必填的字符串,长度至少为 6,并且不能等于 password 字段的值。

自定义不等于验证规则

如果想要对 different 规则进行扩展或自定义,可以使用 Laravel 提供的 Rule 类来创建新的验证规则。下面是一个示例代码片段:

use Illuminate\Validation\Rule;

$request->validate([
    'password' => 'required|string|min:6',
    'new_password' => [
        'required',
        'string',
        'min:6',
        Rule::different('password')
    ],
]);

在上面的代码中,Rule::different('password') 创建了一个自定义的不等于验证规则,用于限制 new_password 字段不能与 password 字段相同。

总结

Laravel 提供了很多内置的验证规则,包括 different 规则用于验证不等于。我们可以在表单验证中使用该规则来验证某个字段值不等于另一个字段值。如果需要扩展或自定义验证规则,可以使用 Rule 类来创建新的规则。