UserPassword

Дата обновления перевода 2023-01-13

UserPassword

Валидирует, что значение ввода равно текущему аутентифицированному паролю пользователя. Это полезно в форме, где пользователь может изменять свой пароль, но должен ввести старый пароль для безопасности.

Note

Это не должно быть использовано для валидации формы входа, так как это делается автоматически системой безопасности.

Note

Для того, чтобы использовать это ограничение, вы должны были установить компонент symfony/security-core с помощью Composer.

??????????? ? ???????? ??? ??????
????? UserPassword
????????? UserPasswordValidator

Базовое применение

Представьте, что у вас есть класс ChangePassword, который используется в форме, где пользователь может изменять свой пароль, введя старый и новый пароли. Это ограничение валидирует, что старый пароль совпадает с текущим паролем пользователя:

  • Attributes
  • YAML
  • XML
  • PHP
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 = "Неправильное значение для вашего текущего пароля"
    )]
    protected $oldPassword;
}

Опции

groups

type: array | string

It defines the validation group or groups of this constraint. Read more about validation groups.

message

тип: message по умолчанию: Это значение должно быть текущим паролем пользователя.

Это сообщение, которое отображается, когда основоположная строка не совпадает с текущим паролем пользователя.

Это сообщение не имеет параметров.

payload

тип: mixed по умолчанию: null

Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.

Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.