<div class="container accroche">
<h5>{{ 'Inscription aux évenements'|trans }}</h5>
<p>Le Lorem Ipsum est simplement du faux texte employé dans la composition et la mise en page avant impression. Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis les années 1500,
quand un peintre anonyme assembla ensemble des morceaux de texte pour réaliser un livre spécimen de polices de texte. Il n'a pas fait que survivre cinq siècles, mais s'est aussi adapté à la bureautique informatique,
sans que son contenu n'en soit modifié. Il a été popularisé dans les années 1960 grâce à la vente de feuilles Letraset contenant des passages du Lorem Ipsum, et, plus récemment,
par son inclusion dans des applications de mise en page de texte, comme Aldus PageMaker.
</p>
</div>
{{ form_start(form, {attr: {novalidate: 'novalidate','id':'formValidate'}}) }}
<div class="middle">
<div class="middle_form">
<div class="container">
<div class="stepwizard">
<div class="stepwizard-row setup-panel col-md-12 text-center">
<div class="stepwizard-step col-md-3">
<a href="#step-1" type="button" class="btn btn-primary btn-circle">1</a>
</div>
<div class="stepwizard-step col-md-3">
<a href="#step-2" type="button" class="btn btn-default btn-circle" disabled="disabled">2</a>
</div>
<div class="stepwizard-step col-md-3">
<a href="#step-3" type="button" class="btn btn-default btn-circle" disabled="disabled">3</a>
</div>
<div class="stepwizard-step col-md-3">
<a href="#step-4" type="button" class="btn btn-default btn-circle" disabled="disabled">4</a>
</div>
</div>
</div>
<div class="row setup-content" id="step-1">
<div class="col-md-12">
<h3>{{ 'Informations invités'|trans }}</h3>
<div class="row">
<div class="input-field col-12">
{{ form_widget(form.name, {'attr': {'class': 'validate', 'id': 'last_name'}}) }}
{{ form_errors(form.name) }}
<label for="last_name">{{ 'Nom'|trans }} <sup>*</sup></label>
</div>
</div>
<div class="row">
<div class="input-field col-12">
{{ form_widget(form.surname, {'attr': {'class': 'validate', 'id': 'surname'}}) }}
{{ form_errors(form.surname) }}
<label for="surname">{{ 'Prénom'|trans }} <sup>*</sup></label>
</div>
</div>
<div class="row">
<div class="input-field col-12">
{{ form_widget(form.email, {'attr': {'class': 'validate', 'id': 'email'}}) }}
{{ form_errors(form.email) }}
<label for="email">{{ 'E-mail'|trans }} <sup>*</sup></label>
</div>
</div>
<div class="row">
<div class="col-12">
<label>{{ 'Présence'|trans }} <sup>*</sup></label>
{{ form_widget(form.dispo, {'attr': {'class': 'validate', 'id': 'dispo'}}) }}
{{ form_errors(form.dispo) }}
</div>
</div>
<button class="btn btn-primary nextBtn btn-lg pull-right" type="button">{{ 'SUIVANT'|trans }}</button>
</div>
</div>
<div class="row setup-content" id="step-2">
<div class="col-md-12">
<h3>{{ 'Informations participants'|trans }}</h3>
<div class="row">
<ul class="customers"
data-prototype="{{ form_widget(form.customers.vars.prototype)|e('html_attr') }}">
{% for customers in form.customers %}
<div class="row">
<div class="input-field col-12">
{{ form_row(customers.name, {'attr': {'class': 'validate', 'id': 'name'}}) }}
{{ form_errors(customers.name) }}
</div>
</div>
<div class="row">
<div class="input-field col-12">
{{ form_row(customers.surname, {'attr': {'class': 'validate', 'id': 'surname'}}) }}
{{ form_errors(customers.surname) }}
</div>
</div>
<div class="row">
<div class="input-field col-12">
{{ form_row(customers.old) }}
{{ form_errors(customers.old) }}
</div>
</div>
{% endfor %}
</ul>
</div>
<button class="btn btn-primary prevBtn btn-lg pull-left" type="button">{{ 'PRECEDENT'|trans }}</button>
<button class="btn btn-primary nextBtn btn-lg pull-right" type="button">{{ 'SUIVANT'|trans }}</button>
</div>
</div>
<div class="row setup-content" id="step-3">
<div class="col-md-12">
<h3>Logements</h3>
<div class="row">
<div class="input-field col-12">
{{ form_widget(form.housing, {'attr': {'class':'validate'}}) }}
{{ form_errors(form.housing) }}
<label>{{ 'Comment allez vous vous logez ?'|trans }} <sup>*</sup></label>
</div>
</div>
<div class="row">
<div class="input-field col-12">
{{ form_widget(form.hotel, {'attr': {'class':'validate'}}) }}
{{ form_errors(form.hotel) }}
<label>{{ 'Hôtel'|trans }} <sup>*</sup></label>
</div>
</div>
<button class="btn btn-primary prevBtn btn-lg pull-left" type="button">{{ 'PRECEDENT'|trans }}</button>
<button class="btn btn-primary nextBtn btn-lg pull-right" type="button">{{ 'SUIVANT'|trans }}</button>
</div>
</div>
<div class="row setup-content" id="step-4">
<div class="col-md-12">
<h3>{{ 'Arrivée/Départ'|trans }}</h3>
<div class="row">
<div class="col-12">
<label>{{ 'Date d\'arrivée'|trans }} <sup>*</sup></label>
{#<input class="datepicker" type="text" id="dateArrival" name="form[dateArrival]"/>#}
{{ form_widget(form.dateArrival, {'attr': {'class': 'datepicker validate'}}) }}
{{ form_errors(form.dateArrival) }}
</div>
</div>
<div class="row">
<div class="col-12">
<label>{{ 'Date de départ'|trans }} <sup>*</sup></label>
{#<input class="datepicker" type="text" id="dateDeparture" name="form[dateDeparture]"/>#}
{{ form_widget(form.dateDeparture, {'attr': {'class': 'datepicker validate'}}) }}
{{ form_errors(form.dateDeparture) }}
</div>
</div>
<div class="row">
<div class="input-field col-12">
{{ form_widget(form.transport, {'attr': {'class':'validate'}}) }}
{{ form_errors(form.transport) }}
<label>{{ 'Transport utilisé'|trans }} <sup>*</sup></label>
</div>
</div>
<div class="btn-center">
<button class="btn btn-primary prevBtn btn-lg pull-left" type="button">{{ 'PRECEDENT'|trans }}</button>
{{ form_widget(form.save, {'attr': {'class':'btn btn-success', 'id':'SaveAccount'}}) }}
</div>
</div>
</div>
</div>
</div>
</div>
{{ form_widget(form.dateArrival, {'attr': {'class': 'hidden'}}) }}
{{ form_widget(form.dateDeparture, {'attr': {'class': 'hidden'}}) }}
{{ form_end(form) }}
J'essaie d'avertir l'utilisateur qu'il est déjà enregistré. Merci – Chris99391700
vous pouvez le faire avec cette configuration. C'est ce que c'est. –
Il vérifie qu'il n'y a pas d'autres utilisateurs avec cet email dans votre base de données. Puis lève l'exception si elle en trouve un. Le fait est que vous n'avez pas besoin d'écrire une requête dans votre contrôleur pour le faire. J'ai mis à jour l'annotation pour montrer que vous pouvez même inclure votre propre message d'erreur personnalisé si vous le souhaitez. –