mb-form-data
C'est un module Javascript (NodeJS) gérant les formatages, mise en place des contraintes de validation des types de données
Installation
Ceci est un Node.js module disponible sur npm registry.
$ npm install mb-form-data
API
let mbFormData = require('mb-form-data')
let validator = mbFormData.Validator
let donnees = {
nom: 'Etokila',
prenom: 'Diani',
age: '',
email: 'diani'
}
let rules = {
nom: 'required|min:3|max:30',
prenom: 'min:3|max:30',
email: 'required|email'
}
validator.verify(datas, rules, (success, errors) => {
if (success) {
console.log("Ok")
}else {
console.log(errors)
}
})
mbFormData.Validator
Est un objet qui comporte plusieurs méthode qui sont exécutées en background lors de la vérification des contraintes (rules) sur les données
mbFormData.Validator.verify(datas, rules = null, callback)
Cette méthode est celle qui lance toutes les monoeuvres, elle reçoit 3 paramètres :
-
datas
réçoit l'objet de littéral des données sous formekey
:value
(clé: valeur) -
rules
les règles sur les éléments de données à vérifier la validité, ce paramètre est par défautnull
parce qu'il y a deux manières à envoyer les données et les règles :
Soit par association de données et des règles dans le premier paramètre (datas
) sous la forme suivante :
let datas = {
nom: {
value: 'Etokila',
rules: 'required|min:3|max:30'
},
prenom: {
value: 'Diani',
rules: 'min:3|max:30'
},
email: {
value: 'diani',
rules: 'required|email'
}
}
Soit par séparémment, sous la forme suivante :
let donnees = {
nom: 'Etokila',
prenom: 'Diani',
age: '',
email: 'diani'
}
let rules = {
nom: 'required|min:3|max:30',
prenom: 'min:3|max:30',
email: 'required|email'
}
-
callback(success, errorrs)
Le troisième parmètre est la fonction callback à appeler, qui recoit en retour deux paramètres.
-
success
: Vauttrue
si tout est correct et qu'il n'y a pas d'erreur etfalse
au cas contraire -
errors
: Objet, contenant la liste des erreurs dont le nom de la clé est le nom de la donnée et la valeur est le message d'erreur (errors.nom
)
Les règles disponibles
-
required
: Le champ est requis, obligatoire -
email
: La valeur du champ doit être une adresse email valide -
min:n
:n
réprésente le nombre minimum de caractères que doit avoir ce champ -
max:n
:n
réprésente le nombre maximum de caractères que doit avoir ce champ -
int
: La valeur du chmap doit être un entier -
alpha:n
: La valeur du chmap doit être une chaine de caractèren
(facultatif) réprésente le nombre de caractères que doit avoir ce champ -
tel
: La valeur du champ doit être un numéro de téléphone valide
Note : Au cas où vous aurez besoin de faire en sorte que le nom du champ à afficher le message auprès de l'utilisateur ne soit pas celui du champ de données envoyées, vous pouvez spécifier ce nom en rajoutant la règle
field:Nom à afficher
.
Exemple
let donnees = {
name: 'E',
firstname: '123',
email: 'diani'
}
let rules = {
name: 'field:Nom|required|min:3|max:30',
firstname: 'min:3|field:Prénom|max:30|alpha',
email: 'required|email|field:Adresse email'
}
validator.verify(datas, rules, (success, errors) => {
if (success) {
console.log("Ok")
}else {
console.log(errors)
}
})
Features
Les fonctionnalités à rajouter dans les futures versions :
-
La localisation (internationnalisation ou utlisation des plusieurs langues pour les messages d'erreur)
-
Inclusion de ce module comme middleware sous ExpressJS pour injecter l'objet
errors
dans lesreq
oures
Elles sont développées dans le module body-data-validator.