custom error form - fosuser bundle
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:
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 %} |
Code:
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> |
----------------------- le reste du code si jamais :)
Code:
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:
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';
}
} |