I’ve a form for creating a new Customer. A customer may have a mobile number. Mobile number should be persisted without + or 00 prefix that user can type. This can be accomplished easly with:
$customer->setMobile(preg_replace("/^(\+|00)/", '', $customer->getMobile()));
Which is the best place to put this code?
- Inside a
CustomerControllerprior to call entity manager and persist the entity. Is this really a matter of a controller in MVC pattern? - Using a
SanitizeCustomerSubscriberand listening toFormEvents:POST_BINDevent - Using a
CustomerSanitizerservice
Any other idea? Of course i’m speaking of data manipulation in general, mobile number is just an example: fields to be sanitized could be more than just one.
You should do this in the
PRE_BINDevent, where you can access the submitted data before it is being processed.For the record, as of Symfony 2.3, this event is called
PRE_SUBMIT.