📅  最后修改于: 2023-12-03 15:17:17.137000             🧑  作者: Mango
在 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
类来创建新的规则。