Как повысить надежность пароля в FOSUserBundle?
friendsofsymfony / user-bundle: 2.1 symfony: 4.4
Я пытаюсь увеличить минимальную надежность, которую я пытался добавить в validation.yaml
FOS\UserBundle\Model\User:
properties:
plainPassword:
- NotBlank:
groups: [AcmeValidation]
- Length:
min: 6
minMessage: fos_user.password.short
groups: [AcmeValidation]
Я получаю сообщение об ошибке There is no extension able to load the configuration for "FOS\UserBundle\Model\User
.
Symfony документация: https://symfony.com/doc/current/bundles/override.html#validation -метаданные
Проверка I я пытаюсь заменить: https://github.com/FriendsOfSymfony/FOSUserBundle/blob/a9e71b6e7b61e7f39ba77436ba3e9af954450c4b/Resources/config/validation.xml#L56
Я также хотел бы, чтобы все формы FOSUserBundle использовали это новое правило проверки.
EDIT 1:
Я добавил следующее в расширенную сущность пользователя, которая, по крайней мере, увеличивает длину пароля до 6 символов, но если пользователь вводит 1 символ, он увидит двойное сообщение об ошибке fos_user.password.short
. Одна ошибка исходит от BaseUser, а другая от моего расширенного объекта.
use FOS\UserBundle\Model\User as BaseUser;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
{
/**
* Plain password. Used for model validation. Must not be persisted.
*
* @var string
* @Assert\Length(
* min = 6,
* max = 100,
* minMessage = "fos_user.password.short",
* allowEmptyString = false,
* groups = {"Registration", "ResetPassword", "ChangePassword", "Profile"}
* )
*/
protected $plainPassword;