Tengo un formulario para crear un nuevo Customer
. Un cliente puede tener un número de teléfono móvil. El número de teléfono móvil debe mantenerse sin el prefijo +
o 00
que el usuario puede escribir. Esto se puede lograr fácilmente con:¿Cuál es el lugar sugerido para modificar datos de formulario enlazados en Symfony?
$customer->setMobile(preg_replace("/^(\+|00)/", '', $customer->getMobile()));
¿Cuál es el mejor lugar para poner este código?
- Dentro de un
CustomerController
antes de llamar al administrador de la entidad y persistir a la entidad. ¿Es esto realmente una cuestión de un controlador en el patrón MVC? - El uso de un
SanitizeCustomerSubscriber
y escucharFormEvents:POST_BIND
caso - uso de un servicio
CustomerSanitizer
Cualquier otra idea? Por supuesto, hablo de manipulación de datos en general, el número de móvil es solo un ejemplo: los campos que deben desinfectarse podrían ser más que uno.
Tengo ** registerAction en BookController ** que utiliza un evento PRE_SUBMIT similar para manipular los datos del formulario. Yo trabajo bien Pero, después de crear una ** loginAction en SecurityController ** hoy, siempre que presento una acción de inicio de sesión, (control de programa) va al ** evento PRE_SUBMIT ** creado para la acción de registro. ¿Cómo evitar esta interrupción de acción de inicio de sesión con el evento PRE_SUBMIT creado para la acción de registro? ** Nota: ** ambos controladores usan la misma clase de entidad. – webblover