Un outil de Sumor Cloud.
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/validateur --save
Nécessite la version Node.JS 16.x ou supérieure
Comme ce package est écrit en module ES,
veuillez changer le code suivant dans votre fichier package.json
:
{
"type": "module"
}
import { validate } from '@sumor/validateur'
const infoParamètre = {
type: 'string',
required: true,
length: 10,
rule: [
// autoriser uniquement a-z, A-Z, 0-9
{
id: 'ONLY_CHAR_DIGIT',
expression: '^[a-zA-Z0-9]*$',
message: 'autoriser uniquement a-z, A-Z, 0-9'
},
// besoin d'inclure demo
{
id: 'INCLUDE_DEMO',
expression: 'demo',
message: 'besoin d'inclure demo'
},
// utiliser une fonction pour vérifier
{
id: 'LENGTH_GREATER_THAN_5',
expression: value => {
return value.length > 5
},
message: 'la longueur devrait être supérieure à 5'
}
],
i18n: {
zh: {
ONLY_CHAR_DIGIT: 'seulement autoriser les lettres et les chiffres',
INCLUDE_DEMO: 'besoin d'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: 'besoin d'inclure demo',
LENGTH_GREATER_THAN_5: 'la longueur devrait être supérieure à 5'
}
}
}
const messages1 = validate(infoParamètre, 'demo123456')
console.log(messages1) // []
const messages2 = validate(infoParamètre, 'de1234567')
console.log(messages2) // [ 'autoriser uniquement a-z, A-Z, 0-9' ]
const messages3 = validate(infoParamètre, 'demo!')
console.log(messages3) // [ 'autoriser uniquement a-z, A-Z, 0-9', 'besoin d'inclure demo' ]
const messages4 = validate(infoParamètre, 'de!mo')
console.log(messages4) // [ 'autoriser uniquement a-z, A-Z, 0-9', 'besoin d'inclure demo' ]
const messages5 = validate(infoParamètre, 'de')
console.log(messages5) // [ 'autoriser uniquement a-z, A-Z, 0-9', 'besoin d'inclure demo', 'la longueur devrait être supérieure à 5' ]
// traduire en zh
const messages6 = validate(infoParamètre, 'de', 'zh')
console.log(messages6) // [ 'seulement autoriser les lettres et les chiffres', 'besoin d'inclure demo', 'la longueur devrait être supérieure à 5' ]
// traduire en zh-TW
const messages7 = validate(infoParamètre, 'de', 'zh-TW')
console.log(messages7) // [ 'seulement autoriser les lettres et les chiffres', 'besoin d'inclure demo', 'la longueur devrait être supérieure à 5' ]
import { validate } from '@sumor/validateur'
const infoParamètre = {
type: 'nombre',
required: true,
règle: [
// besoin d'être supérieur à 5
{
id: 'GREATER_THAN_5',
expression: value => {
return value > 5
},
message: 'la valeur devrait être supérieure à 5'
}
],
i18n: {
zh: {
GREATER_THAN_5: 'la valeur devrait être supérieure à 5'
},
'zh-TW': {
GREATER_THAN_5: 'la valeur devrait être supérieure à 5'
}
}
}
const messages1 = validate(infoParamètre, 6)
console.log(messages1) // []
const messages2 = validate(infoParamètre, 5)
console.log(messages2) // [ 'la valeur devrait être supérieure à 5' ]
const messages3 = validate(infoParamètre, 4)
console.log(messages3) // [ 'la valeur devrait être supérieure à 5' ]
// traduire en zh
const messages4 = validate(infoParamètre, 4, 'zh')
console.log(messages4) // [ 'la valeur devrait être supérieure à 5' ]
// traduire en zh-TW
const messages5 = validate(infoParamètre, 4, 'zh-TW')
console.log(messages5) // [ 'la valeur devrait être supérieure à 5' ]
supprimera l'espace inutile pour le préfixe et le suffixe
import { format } from '@sumor/validateur'
const infoParamètre = {
type: 'string',
trim: true // par défaut true pour le type de chaîne
}
const valeur = format(infoParamètre, ' demo ')
console.log(valeur) // affichera "demo", les espaces inutiles seront supprimés
convertira la chaîne en minuscules
import { format } from '@sumor/validateur'
const infoParamètre = {
type: 'string',
lowercase: true
}
const valeur = format(infoParamè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/validateur'
const infoParamètre = {
type: 'string',
uppercase: true
}
const valeur = format(infoParamètre, 'Demo')
console.log(valeur) // affichera "DEMO", tous les caractères seront convertis en majuscules
import { format } from '@sumor/validateur'
const infoParametre = {
type: 'nombre',
décimal: 2
}
const valeur1 = format(infoParametre, 1.234)
console.log(valeur1) // affichera 1.23, seules 2 décimales seront conservées
const valeur2 = format(infoParametre, '1.234')
console.log(valeur2) // sera converti en nombre 1.23, seules 2 décimales seront conservées