Hello tout le monde,
J'ai une petite question concernant la personnalisation des erreurs.
J'utilise le bundle FOSuser bundle et j'ai bien lus la documentation.
Malgré tout, mon code ne fonctionne pas et je ne trouve pas l'erreur.
Je suis la logique suivante:
- personnaliser le block field_error
- inclure le thème dans le formulaire
Je précise que le chemin vers mes thèmes est correct puisque le thème "radio.html.twig" fonctionne correctement. Celui pour les erreurs ne semble rien changer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 {% block field_errors %} {% spaceless %} {% if errors|length > 0 %} <ul class="list_error"> {% for error in errors %} <li>{{ error.messageTemplate|trans(error.messageParameters, 'validators') }}test</li> {% endfor %} </ul> {% endif %} {% endspaceless %} {% endblock field_errors %}----------------------- le reste du code si jamais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 {% trans_default_domain 'FOSUserBundle' %} {% form_theme form 'JlfaWebSiteBundle::form/errors.html.twig' %} {% form_theme form 'JlfaWebSiteBundle::form/radio.html.twig' %} <!-- add form --> <div class="row"> <div class="col-lg-12"> <div class="well"> <form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" id="contact-form" class="form-inline"> <fieldset> {{ form_errors(form) }} <legend>Create your account2</legend> <div class="control-group"> {{ form_label(form.email) }} <!-- <label class="control-label" for="mail">E-mail<span title ="Aucun spam ne sera envoyé depuis de site web." class="glyphicon glyphicon-exclamation-sign"></span></label> --> <div class="controls"> {{ form_widget(form.email, {'attr': {'class': 'form-control'}}) }} {{ form_errors(form.email) }} </div> <div class="radio-group"> {{ form_widget(form.displayMail) }} </div> </div> <div class="control-group"> {{ form_label(form.username) }} <div class="controls"> {{ form_widget(form.username, {'attr': {'class': 'form-control'}}) }} </div> </div> <div class="control-group"> {{ form_label(form.plainPassword.first) }} <div class="controls"> {{ form_widget(form.plainPassword.first, {'attr': {'class': 'form-control'}}) }} </div> </div> <div class="control-group"> {{ form_label(form.plainPassword.second) }} <div class="controls"> {{ form_widget(form.plainPassword.second, {'attr': {'class': 'form-control'}}) }} </div> </div> <div class="control-group"> {{ form_label(form.aboutMe) }} <div class="controls"> {{ form_widget(form.aboutMe, {'attr': {'class': 'form-control'}}) }} </div> </div> <div class="control-group"> {{ form_label(form.adresse, label|default(null), { 'label_attr': { 'class': 'control-label' }}) }} <!-- <span title ="Cette adresse sera utilisée pour réaliser une cartes des contributeurs" class="glyphicon glyphicon-exclamation-sign"></span> --> <div class="input-group controls"> {{ form_widget(form.adresse, {'attr': {'class': 'form-control'}}) }} <span class="input-group-btn"> <button id="go" class="btn btn-default" type="button">Go</button> </span> </div> <div class="radio-group"> {% form_theme form 'JlfaWebSiteBundle::form/radio.html.twig' %} {{ form_widget(form.displayAdresse) }} </div> </div> <div class="control-group"> <div id="map-canvas"></div> </div> {{ form_rest(form) }} <div class="form-actions"> <button type="reset" class="btn">Cancel</button> <button id="submit-register" type="submit" class="btn btn-primary btn-large" value="{{ 'registration.submit'|trans }}">Submit</button> </div> </fieldset> </form> </div> </div> </div>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 {% extends "FOSUserBundle::layout.html.twig" %} {% block stylesheets %} {{ parent() }} {% stylesheets output='css/main.css' filter='cssrewrite, ?yui_css' 'css/form.css' %} <link rel="stylesheet" href="{{ asset_url }}" type="text/css" /> {% endstylesheets %} {% endblock %} {% block fos_user_content %} {% include "FOSUserBundle:Registration:register_content.html.twig" %} {% endblock fos_user_content %} {% block javascripts %} {{ parent() }} {% javascripts output='js/main.js' filter='?yui_js' 'js/jquery.validate.min.js' '@SdzUserBundle/Resources/public/js/jquery.geocomplete.min.js' 'js/register-form.js' %} <script type="text/javascript" src="{{ asset_url }}"></script> <script src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script> {% endjavascripts %} {% endblock %}<br><br>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 <?php namespace Sdz\UserBundle\Form\Type; use Symfony\Component\Form\FormBuilderInterface; use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType; class RegistrationFormType extends BaseType { public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); $mail = array( 'publication-email-yes' => 'Publier mon adresse e-mail sur ma page de profil.', 'publication-email-no' => 'Non, je préfère garder mon adresse e-mail anonyme.' ); $adresse = array( 'publication-adresse-yes' => 'Publier mon adresse sur ma page de profil.', 'publication-adresse-no' => 'Non, je préfère garder mon adresse anonyme. ' ); $builder->add('displayMail', 'choice', array( 'choices' => $mail, 'expanded' => true, 'multiple' => false, 'data' => 'publication-email-no' )); $builder->add('aboutMe', 'textarea'); $builder->add('adresse'); $builder->add('displayAdresse', 'choice', array( 'choices' => $adresse, 'expanded' => true, 'multiple' => false, 'data' => 'publication-adresse-no' ));; $builder->add('lat', 'hidden', array( 'attr' => array('data-geo' => 'lat') )); $builder->add('lng', 'hidden', array( 'attr' => array('data-geo' => 'lng') )); $builder->add('formateAdresse', 'hidden', array( 'attr' => array('data-geo' => 'formatted_address') )); } public function getName() { return 'sdz_user_registration'; } }
Partager