Un Sumor Cloud Outil.
Plus de documentation
Il s'agit d'un validateur léger pour Node.JS. Il peut valider la chaîne d'entrée ou le nombre en fonction des règles que vous avez définies.
npm i @sumor/validator --save
Nécessite Node.JS version 16.x ou supérieure
Comme ce package est écrit en module EC,
veuillez modifier le code suivant dans votre fichier package.json
:
{
"type": "module"
}
import { validate } from '@sumor/validator'
const informationParamètre = {
type: 'string',
required: true,
length: 10,
rule: [
// autorise uniquement a-z, A-Z, 0-9
{
code: 'ONLY_CHAR_DIGIT',
expression: '^[a-zA-Z0-9]*$',
message: 'uniquement autoriser a-z, A-Z, 0-9'
},
// doit inclure demo
{
code: 'INCLUDE_DEMO',
expression: 'demo',
message: 'doit inclure demo'
},
// utiliser une fonction pour vérifier
{
code: 'LENGTH_GREATER_THAN_5',
expression: value => {
return value.length > 5
},
message: 'la longueur doit être supérieure à 5'
}
],
i18n: {
zh: {
ONLY_CHAR_DIGIT: 'seulement autoriser les lettres et les chiffres',
INCLUDE_DEMO: 'doit inclure demo',
LENGTH_GREATER_THAN_5: 'la longueur devrait être supérieure à 5'
},
'zh-TW': {
ONLY_CHAR_DIGIT: 'seulement autoriser les lettres et les chiffres',
INCLUDE_DEMO: 'doit inclure demo',
LENGTH_GREATER_THAN_5: 'la longueur devrait être supérieure à 5'
}
}
}
const messages1 = validate(informationParamètre, 'demo123456')
console.log(messages1) // []
const messages2 = validate(informationParamètre, 'de1234567')
console.log(messages2) // [ 'uniquement autoriser a-z, A-Z, 0-9' ]
const messages3 = validate(informationParamètre, 'demo!')
console.log(messages3) // [ 'uniquement autoriser a-z, A-Z, 0-9', 'doit inclure demo' ]
const messages4 = validate(informationParamètre, 'de!mo')
console.log(messages4) // [ 'uniquement autoriser a-z, A-Z, 0-9', 'doit inclure demo' ]
const messages5 = validate(informationParamètre, 'de')
console.log(messages5) // [ 'uniquement autoriser a-z, A-Z, 0-9', 'doit inclure demo', 'la longueur doit être supérieure à 5' ]
// traduire en chinois
const messages6 = validate(informationParamètre, 'de', 'zh')
console.log(messages6) // [ 'seulement autoriser les lettres et les chiffres', 'doit inclure demo', 'la longueur devrait être supérieure à 5' ]
// traduire en chinois traditionnel
const messages7 = validate(informationParamètre, 'de', 'zh-TW')
console.log(messages7) // [ 'seulement autoriser les lettres et les chiffres', 'doit inclure demo', 'la longueur devrait être supérieure à 5' ]
import { validate } from '@sumor/validator'
const informationParamètre = {
type: 'number',
required: true,
rule: [
// doit être supérieur à 5
{
code: 'GREATER_THAN_5',
expression: value => {
return value > 5
},
message: 'la valeur doit être supérieure à 5'
}
],
i18n: {
zh: {
GREATER_THAN_5: 'la valeur doit être supérieure à 5'
},
'zh-TW': {
GREATER_THAN_5: 'la valeur doit être supérieure à 5'
}
}
}
const messages1 = validate(informationParamètre, 6)
console.log(messages1) // []
const messages2 = validate(informationParamètre, 5)
console.log(messages2) // [ 'la valeur doit être supérieure à 5' ]
const messages3 = validate(informationParamètre, 4)
console.log(messages3) // [ 'la valeur doit être supérieure à 5' ]
// traduire en chinois
const messages4 = validate(informationParamètre, 4, 'zh')
console.log(messages4) // [ 'la valeur doit être supérieure à 5' ]
// traduire en chinois traditionnel
const messages5 = validate(informationParamètre, 4, 'zh-TW')
console.log(messages5) // [ 'la valeur doit être supérieure à 5' ]
supprime les espaces inutiles pour le préfixe et le suffixe
import { format } from '@sumor/validator'
const informationParamètre = {
type: 'string',
trim: true // par défaut, true pour le type de chaîne
}
const valeur = format(informationParamètre, ' demo ')
console.log(valeur) // affichera "demo", les espaces inutiles seront supprimés
convertira la chaîne en minuscules
import { format } from '@sumor/validator'
const informationParamètre = {
type: 'string',
lowercase: true
}
const valeur = format(informationParamètre, 'Demo')
console.log(valeur) // affichera "demo", tous les caractères seront convertis en minuscules
convertira la chaîne en majuscules
import { format } from '@sumor/validator'
const informationParamètre = {
type: 'string',
uppercase: true
}
const valeur = format(informationParamètre, 'Demo')
console.log(valeur) // affichera "DEMO", tous les caractères seront convertis en majuscules
import { format } from '@sumor/validator'
const informationParamètre = {
type: 'number',
décimal: 2
}
const valeur1 = format(informationParamètre, 1, 234)
console.log(valeur1) // affichera 1,23, uniquement 2 chiffres après la virgule
const valeur2 = format(informationParamètre, '1,234')
console.log(valeur2) // sera converti en nombre 1,23, uniquement 2 décimales seront conservées
Si vous passez error:true, la réponse sera un objet SumorError. Vous pouvez changer de langue et exporter le support json avec @sumor/error
import { validate } from '@sumor/validator'
const informationParamètre = {
type: 'string',
required: true,
longueur: 10,
règle: [
{
code: 'LENGTH_GREATER_THAN_5',
expression: value => {
return value.length > 5
},
message: 'la longueur doit être supérieure à 5'
}
]
}
const messages = validate(informationParamètre, 'demo123456', 'en', vrai)
console.log(messages)
/*
SumorError
{
code: 'LENGTH_GREATER_THAN_5',
message: 'la longueur doit être supérieure à 5'
}
*/