forms - denyaccessunlessgranted - Symfony2: ¿Cómo traducir mensajes de error personalizados en tipos de formularios?
translation symfony 4 (4)
Hay un ejemplo en los documentos .
Necesito traducir los mensajes de error de mi tipo de formulario. Aquí está mi código de tipo de formulario:
class ReferFriendType extends AbstractType {
public function buildForm(FormBuilder $builder, array $options)
{
$defaultSubject = "This is a default referral subject.";
$defaultMessage = "This is a default referral message.";
$builder->add(''email1'', ''email'',array(
''required'' => true,
''label'' => ''Email 1* :'',
''attr'' => array(''class'' => ''large_text''),
));
$builder->add(''email2'', ''email'',array(
''label'' => ''Email 2 :'',
''required'' => false,
''attr'' => array(''class'' => ''large_text''),
));
$builder->add(''email3'', ''email'',array(
''label'' => ''Email 3 :'',
''required'' => false,
''attr'' => array(''class'' => ''large_text''),
));
$builder->add(''email4'', ''email'',array(
''label'' => ''Email 4 :'',
''required'' => false,
''attr'' => array(''class'' => ''large_text''),
));
$builder->add(''email5'', ''email'',array(
''label'' => ''Email 5 :'',
''required'' => false,
''attr'' => array(''class'' => ''large_text''),
));
$builder->add(''subject'', ''text'', array(
''data'' => $defaultSubject,
''required'' => true,
''label'' => ''Subject* :'',
''attr'' => array(''class'' => ''large_text''),
));
$builder->add(''message'', ''textarea'', array(
''data'' => $defaultMessage,
''required'' => true,
''label'' => ''Message* :'',
''attr'' => array(''rows'' => ''5'', ''cols'' => ''40''),
));
}
public function getDefaultOptions(array $options)
{
$collectionConstraint = new Collection( array(
''fields'' => array(
''email1'' => array(
new Email(),
new NotBlank(array(
''message'' => ''You must enter atleast one email address for a valid submission'',
)),
),
''subject'' => new NotBlank(),
''message'' => new NotBlank(),
),
''allowExtraFields'' => true,
''allowMissingFields'' => true,
));
return array(
''validation_constraint'' => $collectionConstraint,
''csrf_protection'' => false,
);
}
public function getName()
{
return ''referFriend'';
}
}
Quiero traducir ''Debe ingresar al menos una dirección de correo electrónico para una presentación válida'' en el método getDefaultOptions () en francés. He agregado la traducción en el messages.fr.yml. Pero no está siendo traducido. ¿Alguna idea de cómo se puede hacer esto?
Las traducciones de validación van a los validators.LANG.yml
archivos - no messages.LANG.yml
ones.
Es fácil, vea http://symfony.com/doc/current/book/translation.html#translating-constraint-messages Y configure default_locale en /app/config/config.yml o juegue con $ this-> get ( ''solicitud'') -> setLocale (''ru'');
Los reemplazos no están establecidos en el archivo validation.yml, sino por el Validator.
validators.en.yml
noFirstnameMinLimit: Please provide at least {{ limit }} characters
validation.yml
Acm/AddressBundle/Entity/Address:
properties:
firstname:
- Length:
min: 3
minMessage: "noFirstnameMinLimit"
Esto funciona para mí con Symfony 2.4