在版本8中验证两个字段是否相同



在我的表单中,我有两个字段passpass_repeat。在浏览器端,我使用javascript验证它。在服务器端,我想检查它们是否相同。如何使用request()->validate()法?

我可以检查与php相等,但是,我想知道request()->validate()是否可能。

即使是进一步搜索的关键字也值得赞赏。

注:我的尝试:

$result = request()->validate([
'email' => ['required', 'email'],
'password' => ['required', 'string', 'max:30', 'min:8'],
'password_repeat' => ['required', 'string', 'max:30', 'min:8']
]);
if ($result['password' != $result['password_repeat'] || $result['password_repeat'] == '' || $result['password'] == '')
{
abort();
}

谢谢。

只需将表单中输入'password_repeat'的名称更改为'password_confirmation',并使用验证器'confirmed'

$result = request()->validate([
'email' => ['required', 'email'],
'password' => ['required', 'string', 'max:30', 'min:8','confirmed'],

]);

你这样做的方式是错误的,laravel有confirmed rule,可以用于确认目的,你应该添加pass_confirmation输入并通过表单传递给控制器,并使用confirmed规则为pass输入。

最新更新