跳到内容

UserPassword

编辑此页

此验证器用于验证输入值是否与当前已认证用户的密码相等。这在用户可以更改密码的表单中非常有用,出于安全考虑,用户需要输入旧密码。

注意

不应使用此验证器来验证登录表单,因为安全系统会自动完成此操作。

注意

为了使用此约束,您应该已经通过 Composer 安装了 symfony/security-core 组件。

基本用法

假设你有一个 ChangePassword 类,它被用于用户可以通过输入旧密码和新密码来更改其密码的表单中。此约束将验证旧密码是否与用户的当前密码匹配

1
2
3
4
5
6
7
8
9
10
11
12
// src/Form/Model/ChangePassword.php
namespace App\Form\Model;

use Symfony\Component\Security\Core\Validator\Constraints as SecurityAssert;

class ChangePassword
{
    #[SecurityAssert\UserPassword(
        message: 'Wrong value for your current password',
    )]
    protected string $oldPassword;
}

选项

groups

类型: array | string 默认值: null

它定义了此约束的验证组。阅读更多关于 验证组 的信息。

message

类型: message 默认值: 此值应为用户的当前密码。

当底层字符串与当前用户的密码匹配时,将显示此消息。

此消息没有参数。

payload

类型: mixed 默认值: null

此选项可用于将任意特定于域的数据附加到约束。配置的 payload 不会被 Validator 组件使用,但其处理完全取决于您。

例如,您可能想要使用 几个错误级别,以便根据错误严重程度在前端以不同方式呈现失败的约束。

本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可获得许可。
目录
    版本