# Guide d'utilisation

Découvrez comment utiliser le builder de formulaires.  
   
Vous trouverez le json à remplir dans le dossier /templates à la racine du projet.

```json
"formTitle": "Formulaire Abonnement Hyundai Leasing",
"subTitle": "Demandez à être rappelé par l’un de nos conseiller Hyundai",
"validation": "Votre demande a été envoyée avec succès",
```

Au sein de ces clés valeurs, vous pourrez définir respectivement :

1. Le titre de votre formulaire
2. Le sous-titre de votre formulaire
3. Le message de validation affiché une fois le formulaire soumit

**Voici un exemple gérant les champs Nom et Prénom dans un formulaire**

```json
{
    "rowClass": "row",
    "fields": [
      {
        "fieldName": "firstName",
        "match": "firstName",
        "id": "firstName",
        "label": "Prénom",
        "name": "firstName",
        "class": "col-xs-12 col-sm-4 col-sm-offset-2",
        "required": true
      },
      {
        "fieldName": "lastName",
        "match": "lastName",
        "id": "lastName",
        "label": "Nom",
        "name": "lastName",
        "class": "col-xs-12 col-sm-4",
        "required": true
      }
    ]
}
```

Tout d'abord, il faut définir la clé valeur suivante afin de définir une rangée qui comportera les champs :

```
"rowClass": "row"
```

<div class="highlight highlight-source-json notranslate position-relative overflow-auto" dir="auto" id="bkmrk-"><div class="zeroclipboard-container"><svg aria-hidden="true" class="octicon octicon-copy js-clipboard-copy-icon" data-view-component="true" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></div></div>Ensuite il faut définir un tableau pour définir ses champs :

```
"fields" : []
```

<div class="highlight highlight-source-json notranslate position-relative overflow-auto" dir="auto" id="bkmrk--1"><div class="zeroclipboard-container"><svg aria-hidden="true" class="octicon octicon-copy js-clipboard-copy-icon" data-view-component="true" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></div></div>Pour créer un champ (par exemple 'Nom'), vous aurez besoin de resneigner entre les crochets de la clé "fields" les clés valeurs suivantes :

```
"fieldName" : "lastName"
"match": "lastName",
"id": "lastName",
"name": "lastName",
```

<div class="highlight highlight-source-json notranslate position-relative overflow-auto" dir="auto" id="bkmrk--2"><div class="zeroclipboard-container"><svg aria-hidden="true" class="octicon octicon-copy js-clipboard-copy-icon" data-view-component="true" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></div></div>C'est important pour ces clés d'avoir la même valeur, sinon votre champ risque de ne pas fonctionner correctement. Définissez ensuite le label pour donner à votre champ le nom que vous souhaitez afficher :

```
"label": "Libre à vous de décider"
```

<div class="highlight highlight-source-json notranslate position-relative overflow-auto" dir="auto" id="bkmrk--3"><div class="zeroclipboard-container"><svg aria-hidden="true" class="octicon octicon-copy js-clipboard-copy-icon" data-view-component="true" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></div></div>Si vous reseignez la clé valeur suivante, L'utilisateur de votre formulaire sera obligé de remplir le champ afin de valider le formulaire :

```
"required" : true
```