UNPKG

makemehapi

Version:

Self guided workshops to teach you about hapi.

56 lines (43 loc) 1.82 kB
En utilisant un objet Joi nous pouvons spécifier des règles de validation hautement personnalisables pour les chemins, le contenu des requêtes, ou même les réponses. Créez un serveur exposant un point d’accès d’authentification qui répond par « authentification réussie » quand une requête HTTP POST est envoyée sur le chemin `/login`. Le point d’accès accepte les variables de requête (formulaire) suivantes : ```isGuest``` (booléen) ```username``` (chaîne de caractères) ```accessToken``` (alphanumérique) ```password``` (alphanumérique) La validation doit exprimer les conditions suivantes : 1) Si `isGuest` est `false`, un `username` est requis. 2) `password` ne peut pas être fourni en même temps que `accessToken`. 3) Si d’autres paramètres que ceux spécifiés ci-dessus sont fournis, ils sont acceptés d’office. ----------------------------------------------------------------- ## Conseils Le code suivant illustre une validation complexe : ```js var routeConfig = { path: '/a/path/', method: 'POST', handler: myHandler, config: { validate: { payload: Joi.object({ username: Joi.string(), password: Joi.string().alphanum(), accessToken: Joi.string().alphanum(), birthyear: Joi.number().integer().min(1900).max(2013), email: Joi.string().email() }) .options({ allowUnknown: true }) .with('username', 'birthyear') .without('password', 'accessToken') } } } ``` Toutes les façons de configurer une route sont consultables [ici](https://hapijs.com/api). Les informations sur les objets de validation Joi sont consutlables ici : {rootdir:/node_modules/joi/README.md}