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} 
/>

paramdefaultrequired
valuefalse
iconundefinedfalse
labelfalse
spellcheckfalsefalse
passwordfalsefalse
numberfalsefalse
requiredfalsefalse
fieldundefinedfalse
errorsundefinedfalse
bigfalsefalse


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>