Есть обычная форма (компонент Symfony Forms) с некоторыми полями и для них настроен с кастомный translation domain. К полям применяются стандартные правила из Symfony Validation.
Вопрос: каким образом можно установить кастомный translation domain для перевода сообщений ошибок валидатора? Можно добавить переводы в файл
validators.en.yml, но мне нужно именно иметь возможность указывать необходимый translation domain для разных форм.
Пример формы (укорочен):
class RegistrationForm extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('login', TextType::class, [
'label' => 'registration.details.label.login',
'constraints' => [
new NotBlank(['message' => 'registration.details.error.login.required']),
new Regex([
'pattern' => '/^[a-z0-9_]+/i',
'message' => 'registration.details.error.login.wrong_symbols'
]),
],
])
...
}
public function configureOptions(OptionsResolver $resolver)
{
// Set custom translation domain for this form
$resolver->setDefaults(['translation_domain' => 'users']);
}
public function getExtendedType()
{
return FormType::class;
}
}