Aller au contenu principal
Version: 2.0.0

Validateurs

Les validateurs déterminent si une valeur est acceptable. Ils peuvent être synchrones ou asynchrones.

Types de retour

Un validateur peut renvoyer :

  • true — la valeur est valide.
  • { valid: true } — la valeur est valide.
  • { valid: false, reason: string } — la valeur est invalide avec une raison.
  • false — la valeur est invalide (utilise la raison par défaut).
Loading playground…

Validateurs asynchrones

async function makeSureUsernameIsUnique(username: string) {
const existing = await usersDb.findByUsername(username);
return existing ? { valid: false, reason: 'Ce nom d\'utilisateur est déjà pris' } : true;
}

Validateurs multiples

Vous pouvez passer un tableau de validateurs. Ils s'exécutent dans l'ordre et doivent tous réussir.

b.required('username').validate([validateUsername, makeSureUsernameIsUnique]);

Re-validateurs

Les re-validateurs s'exécutent lors des mises à jour. S'ils ne sont pas fournis, le validateur de création est réutilisé.

b.required('username').validate(validateUsername).reValidate(validateUsernameUpdate);

Valeurs autorisées

Comme alternative à un validateur, vous pouvez restreindre un champ à un ensemble fixe de valeurs :

b.required('role').allow(['admin', 'editor', 'viewer']);