Вы спрашиваете, как правильно сделать что-то неправильно ... Если входное значение не является значением, которое вы хотите обработать, оно никогда не должно было быть значением с самого начала.При этом, я уверен, у вас есть свои причины ...
Вам необходимо прослушать FormEvents::BIND_CLIENT_DATA
и очистить данные формы, если они соответствуют вашей строке ошибки.
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('title');
$builder->get('title')->addEventListener(
FormEvents::BIND_CLIENT_DATA,
function(FilterDataEvent $event)
{
if ('The title must be filled' == $event->getData()) {
$event->setData('');
}
},
);
Если вы хотите применить это поведение глобально, вам нужно присоединить этот слушатель, используя расширение типа формы, которое расширяет 'field'
.Вам также необходимо проанализировать все возможные сообщения об ошибках валидации для текущего поля с помощью валидатора и передать их через транслятор, а затем сравнить результаты с данными события.