Input
Les entrées sont par défaut de type text
. On peut préciser le type en indiquant password
ou number
.
Le paramètre required
est optionnel : il fait apparaître un astérisque, indiquant à l’utilisateur que la saisie du champ est obligatoire.
Le paramètre icon
est optionnel.
<script>
import { Input } from 'gros/form'
const form = { email: null, password: null }
</script>
<Input
required
icon="mail"
label="Email"
bind:value={form.email}
/>
<Input
required
password
icon="lock"
label="Password"
bind:value={form.password}
/>
param | default | required |
---|---|---|
value | ” | false |
icon | undefined | false |
label | ” | false |
spellcheck | false | false |
password | false | false |
number | false | false |
required | false | false |
field | undefined | false |
errors | undefined | false |
big | false | false |
Gros formulaire
Pour obtenir un gros Input
, on ajout le paramètre big
.
<Input
big
required
icon="mail"
label="Email"
bind:value={form.email}
/>
Gestion des erreurs
Les erreurs sont gérées côté serveur. Après soumission d’un formulaire, la réponse contient éventuellement un tableau d’erreurs.
L’objet errors
est normé conformément à l’exemple ci-dessous :
const errors = [
{ field: 'email', message: 'Non valid email'},
{ field: 'password', message: 'Non secured'},
]
La totalité du tableau d’erreurs sera transmise à chaque composant Input
via le paramètre errors
. On précisera également le nom du champ grâce au paramètre field
:
<Input
{errors}
required
field="email"
label="Email"
bind:value={form.email}
/>
Côté client
Dans un contexte d’administration, la vérification des formulaires peut s’opérer côté client.
Cette vérification est sommaire, elle ne prend en compte que la règle des informations requises.
<script>
import { check } from 'gros/form'
const errors = check(form, ['email', 'name', 'firstname'])
</script>