Я пытаюсь изменить способ, которым FOSUSerBundle проверяет имя пользователя/адрес электронной почты, когда пользователь регистрируется, потому что мне нужно проверить, был ли пользователь ранее зарегистрирован, но он отказался от подписки через флаг состояния в сущности. Я думаю, что лучший способ проверить, является ли электронная почта ранее в базе данных, за исключением тех, у которых флаг unsubscribed
установлен в true, но как я это делаю?Как изменить уникальный валидатор FOSUserBundle?
Итак, я вижу, как проверяется класс UniqueValidator
, но я не понимаю, как это работает. Было бы здорово, если бы кто-нибудь мог это объяснить.
Спасибо.
Хорошо, но как я должен продолжить расширение класса? Я создал пользовательский класс UserManager, но я не знаю, чтобы переопределить исходный класс FOS 'UserManager'. Я сохранил его в своем пакете, связанный с исходным классом как «использовать FOS \ UserBundle \ Entity \ UserManger как BaseUserManager», но, похоже, не работает. – Manu
Проверьте второе решение этой записи (это https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/logging_by_username_or_email.md). –
спасибо, это сработало. – Manu