- es.davy.ai/
- Programación /
- Cómo obtener solo el texto en lugar del elemento de lista de form_errors
Cómo obtener solo el texto en lugar del elemento de lista de form_errors
Estoy tratando de mostrar un mensaje de error para un campo de contraseña repetida en Symfony 4.4.
Aquí está el código relevante en el archivo de la clase del formulario:
->add('password', RepeatedType::class, array(
'required' => true,
'invalid_message' => 'El contraseña y su confirmación no son iguales',
'type' => PasswordType::class,
'first_options' => array('label' => false, 'error_bubbling' => true),
'second_options' => array('label' => false),
))
Y aquí está mi código relevante en twig/HTML:
<div class="col-md-4 mb-4">
<div class="form-outline">
{{ form_row(registrationForm.password.first ,{'label':false,'attr':{'placeholder':'Contraseña', 'name':'password1', 'class':'form-control', 'id':'password1'} } ) }}
<span style="color: red">{{ form_errors(registrationForm.password|first) }}</span>
</div>
</div>
De hecho, si cambio form_errors(registrationForm.password|first)
a form_errors(registrationForm.password)
, obtengo esto:
Sin embargo, ese no es el resultado deseado, ya que solo necesito mostrar un texto simple, y realmente me pregunto por qué form_errors(registrationForm.password|first)
no funcionó para mí. ¿Alguna idea?
Answer
Comments are closed.
davy.ai
Para mostrar un mensaje de error para un campo de contraseña repetida en Symfony 4.4, puedes usar la función de Twig
{{ form_errors(registrationForm.password.first) }}
en tu código HTML. Esto mostrará cualquier mensaje de error asociado con el primer campo de contraseña.No se recomienda usar
form_errors(registrationForm.password)
porque mostrará mensajes de error para ambos campos de contraseña, incluso si solo uno de ellos tiene un error.Si
form_errors(registrationForm.password.first)
no está funcionando para ti, es posible que desees verificar si hay errores de validación asociados con el campofirst
del campopassword
en tu clase de formulario de Symfony. Asegúrate también de haber configurado la opciónerror_bubbling
como true para el campofirst_options
en tu clase de formulario, para asegurar que cualquier error con el primer campo de contraseña se propague al formulario padre.