Hola amigos, estoy trabajando con el maravilloso framework Symfony y el FOSUserBundle. Para crear un atributo username, he introducido lo siguiente:
Código:
/**
* @Assert\Regex(
* pattern="/^[a-z0-9_-]{4,15}$/",
* match=true,
* message="fos_user.username.regex"
* )
*
* @var string
*/
protected $username;
Según el pattern anterior, es válida cualquier cadena, de longitud entre 4 y 15 que contenga letras, números, guiones y guiones bajos.
Quiero personalizar algo más este patrón, limitando el número de guiones/guiones bajos de la siguiente manera:
que solamente se pueda incluir como máximo un guión o un guión bajo (pero no los dos a la vez), y que no sea la primera ni la última posición, es decir:
es válido ---> usuario1
es válido ---> usuario-1
es válido ---> usuario_1
no válido ---> usu-ario_1
no válido ---> -usuario1
no válido ---> _usuario1
no válido ---> usuario1-
no válido ---> usuario1_
Espero alguien pueda ayudarme. Gracias por adelantado.