Salut j'ai deux préocupation concernant l'affichage des erreur d'un formulaire en symfony.La premiere concerne le formulaire d'inscription, dans mon formbuilder j'ai envoyé des messages d'érreur à ma vue twig tout fonctionne mais le soucis est que je ne peux recuperer qu'une seul exeption à la fois et l'afficher j'aimrai savoir comment recuperer toutes les exeptions d'un coup et les afficher. La deuxieme preocupation concerte la modification ou traduction du message 'invalide credentials" du loginForm j'aimerai savoir comment ca se fais et si c'est possible de definir d'autres exeptions.
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('nickname', TextType::class, ['label' => 'Pseudo:', 'required' => false],)
->add('email',EmailType::class, [
'required' => false,
'constraints' => [
new NotBlank([
'message' => 'Veuillez completer le champ email.',
]),
]
])
->add('agreeTerms', CheckboxType::class, [
'mapped' => false,
'label'=>'Accepter les conditions',
'constraints' => [
new IsTrue([
'message' => 'Vous devez accepter les conditions.',
]),
],
])
->add('plainPassword', RepeatedType::class, [
'type' => PasswordType::class,
'mapped' => false,
'invalid_message' => 'Les mots de passe ne correspondent pas.',
'first_options' => [
'label' => 'Mot de passe:',
'constraints' => [
new Length([
'min' => 8,
'minMessage' => 'Le mot de passe doit contenir amoins {{ limit }} caractères.',
'max' => 4096,
'maxMessage' => 'Le mot de passe est trop long.',
]),
new NotBlank([
'message' => 'Le mot de passe ne peut pas rester vide.',
]),
]
],
'second_options' => [
'label' => 'Confirmer le mot de passe:',
'attr' => ['autocomplete' => 'new-password'],
'constraints' => [
new NotBlank([
'message' => 'Veuillez confirmer votre mot de passe.',
]),
]
],
'required' => false,
])
;
}
Ce que je veux
Je souhaite afficher les erreur du registrationForme de cette facon.
{% for error_message in app.flashes('verify_email_error') %}
<alert-box
class="alert danger"
type='Erreur'
message="{{ error_message }}"
deleteIcon="{{asset('svg/alert.svg#close-modal')}}"
audio='{{asset('popupsing.wav')}}'>
</alert-box>
{% endfor %}