2012-09-04 15 views
10

Cómo anular los mensajes de validación de formulario en symfony2. Aunque hay una clase de modelo relacionada con el archivo validation.xml. Creo que valida un formulario basado en html5.Anulación de mensajes de validación de formulario en symfony2

"Haga coincidir el formato solicitado", "Complete este campo". ¿Hay alguna forma de anular estos mensajes de validación?

favor me ayude en este sentido, estoy atrapado durante más de un día, ya que soy totalmente nuevo de Symfony

Respuesta

12

Esos mensajes se ven son mensajes de validación HTML5 que son creados por el navegador. Si desea sobrescribirlos, debe agregar un atributo oninvalid a la etiqueta de entrada asociada con ese campo. Esto se puede hacer de dos maneras:

En el controlador o en forma de tipo, añadir este atributo en el campo de formulario:

$builder->add('email', 'email',array(
    'attr'=>array('oninvalid'=>"setCustomValidity('Would you please enter a valid email?')") 
)); 

O, en su plantilla ramita, agregue este atributo cuando se representa el campo de formulario:

{{ form_row(form.email, { 'attr': {'oninvalid': "setCustomValidity('Please give me a nice email')"} }) }} 
+0

Gracias, esto es lo que estoy buscando. Oportuno :) – satdev86

+0

Pero si lo haces de esta manera, ingresas una dirección de correo electrónico no válida, luego aparece el error, corriges el emailaddress pero el error sigue apareciendo. ¿Por qué? – craphunter

+3

La respuesta de Carlos es casi correcta, pero tiene algunos problemas. Consulte "http://stackoverflow.com/questions/10361460/how-can-i-change-html-5-form-validation-errors-default-messages" para obtener una solución alternativa. – IsraelWebDev

3

Usted puede cambiar el mensaje de cada validador gracias a la opción de mensaje cuando se declara la aserción:

/** 
    * @ORM\Column(type="string", length=255, unique=true) 
    * @Assert\NotBlank(
    *  message="You have to choose a username (this is my custom validation message).", 
    *  groups={"registration", "account", "oauth"} 
    *) 

También puede aplicar la traducción creando el archivo MyBundle/Resources/translations/validators.fr.xliff

+0

No, los mensajes a los que se refiere son mensajes de validación HTML5 creados por el navegador –

+0

Maldición No he visto eso ^^ ' – Sybio

Cuestiones relacionadas