Un outil 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/validator --save
Nécessite Node.JS version 16.x ou supérieure
Comme ce package est écrit en module ES,
veuillez modifier le code suivant dans votre fichier package.json
:
{
"type": "module"
}
import { validate } from '@sumor/validator'
const infosParamè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 doit être supérieure à 5'
}
],
i18n: {
zh: {
ONLY_CHAR_DIGIT: '只允许输入字母和数字',
INCLUDE_DEMO: '需要包含demo',
LENGTH_GREATER_THAN_5: '长度应大于5'
},
'zh-TW': {
ONLY_CHAR_DIGIT: '只允许输入字母和数字',
INCLUDE_DEMO: '需要包含demo',
LENGTH_GREATER_THAN_5: '长度应大于5'
}
}
}
const messages1 = validate(infosParamètre, 'demo123456')
console.log(messages1) // []
const messages2 = validate(infosParamètre, 'de1234567')
console.log(messages2) // [ 'autoriser uniquement a-z, A-Z, 0-9' ]
const messages3 = validate(infosParamètre, 'demo!')
console.log(messages3) // [ 'autoriser uniquement a-z, A-Z, 0-9', 'besoin d'inclure demo' ]
const messages4 = validate(infosParamètre, 'de!mo')
console.log(messages4) // [ 'autoriser uniquement a-z, A-Z, 0-9', 'besoin d'inclure demo' ]
const messages5 = validate(infosParamètre, 'de')
console.log(messages5) // [ 'autoriser uniquement a-z, A-Z, 0-9', 'besoin d'inclure demo', 'la longueur doit être supérieure à 5' ]
// traduire en chinois
const messages6 = validate(infosParamètre, 'de', 'zh')
console.log(messages6) // [ '只允许输入字母和数字', '需要包含demo', '长度应大于5' ]
// traduire en chinois traditionnel
const messages7 = validate(infosParamètre, 'de', 'zh-TW')
console.log(messages7) // [ '只允许输入字母和数字', '需要包含demo', '长度应大于5' ]
import { validate } from '@sumor/validator'
const infosParamètre = {
type: 'number',
required: true,
rule: [
// doit être supérieur à 5
{
id: 'GREATER_THAN_5',
expression: value => {
return value > 5
},
message: 'la valeur doit être supérieure à 5'
}
],
i18n: {
zh: {
GREATER_THAN_5: '值应大于5'
},
'zh-TW': {
GREATER_THAN_5: '值应大于5'
}
}
}
const messages1 = validate(infosParamètre, 6)
console.log(messages1) // []
const messages2 = validate(infosParamètre, 5)
console.log(messages2) // [ 'la valeur doit être supérieure à 5' ]
const messages3 = validate(infosParamètre, 4)
console.log(messages3) // [ 'la valeur doit être supérieure à 5' ]
// traduire en chinois
const messages4 = validate(infosParamètre, 4, 'zh')
console.log(messages4) // [ '值应大于5' ]
// traduire en chinois traditionnel
const messages5 = validate(infosParamètre, 4, 'zh-TW')
console.log(messages5) // [ '值应大于5' ]
import { format } from '@sumor/validator'
const infosParamètre = {
type: 'string'
}
const valeur1 = format(infosParamètre, ' demo ')
console.log(valeur1) // affichera "demo", les espaces inutiles seront supprimés
import { format } from '@sumor/validator'
const infosParamètre = {
type: 'number',
decimal: 2
}
const valeur1 = format(infosParamètre, 1.234)
console.log(valeur1) // affichera 1.23, gardera uniquement 2 décimales
const valeur2 = format(infosParamètre, '1.234')
console.log(valeur2) // sera converti en nombre 1.23, gardera uniquement 2 décimales