Проверка подлинности symfony2 regexp az AZ 0-9

Есть ли встроенный способ в symfony2 для проверки строки (в моем случае имя пользователя и другое свойство) против классического правила az, AZ и 0-9?

Должен ли я написать это в регулярном выражении как пользовательский валидатор? (если это так, подскажите, где искать, ценится)

Вы должны использовать собственный валидатор Regex ,

Это так же просто, как использовать аннотацию утверждения Regex, как следует,

use Symfony\Component\Validator\Constraints as Assert; class YourClass { /** * @Assert\Regex("/[a-zA-Z0-9]/") */ protected $yourProperty; } 

Вы также можете настроить свою проверку, установив для параметра соответствия значение false , чтобы утверждать, что данная строка не соответствует.

 /** * @Assert\Regex( * pattern="/[a-zA-Z0-9]/", * match=false, * message="Your property should match ..." * ) */ protected $yourProperty; 

Использование аннотации – это не единственный способ сделать это, вы также можете использовать YML, XML и PHP , проверить документацию , полно примеров, которые объясняют эту проблему.

Я не мог заставить предыдущий ответ работать правильно. Я думаю, что отсутствует квантификатор повторения ( + ). Даже тогда он будет соответствовать подстрокам, если оскорбительные символы были в начале или конце строки, поэтому нам нужно начинать ^ и заканчивать $ ограничения. Мне также нужно было разрешить тире и подчеркивания, а также буквы и цифры, поэтому мой последний шаблон выглядит так.

  * @Assert\Regex("/^[a-zA-Z0-9\-\_]+$/") 

Я использую Symfony 2.8, поэтому я не знаю, изменилась ли проверка Regex, но это кажется маловероятным.

Хорошим ресурсом для тестирования шаблонов регулярных выражений является regex101.com .