@sumor/validator

validator

Ein Sumor Cloud Werkzeug.
Weitere Dokumentationen

Dies ist ein leichtgewichtiger Validator für Node.JS. Er validiert den Eingabestring oder die Eingabenummer basierend auf den von Ihnen definierten Regeln.

CI Test Abdeckung Audit

Installation

npm i @sumor/validator --save

Voraussetzungen

Node.JS-Version

Erfordert Node.JS-Version 16.x oder höher

Erfordern von Node.JS ES-Modul

Da dieses Paket in ES-Modul geschrieben ist, ändern Sie bitte den folgenden Code in Ihrer package.json-Datei:

{
  "type": "module"
}

Verwendung

Verwendung der Zeichenfolgenvalidierung

import { validate } from '@sumor/validator'

const parameterInfo = {
  type: 'string',
  required: true,
  length: 10,
  rule: [
    // nur a-z, A-Z, 0-9 erlauben
    {
      id: 'ONLY_CHAR_DIGIT',
      expression: '^[a-zA-Z0-9]*$',
      message: 'nur a-z, A-Z, 0-9 erlaubt'
    },
    // muss demo enthalten
    {
      id: 'INCLUDE_DEMO',
      expression: 'demo',
      message: 'muss demo enthalten'
    },
    // Funktion zur Überprüfung verwenden
    {
      id: 'LENGTH_GREATER_THAN_5',
      expression: value => {
        return value.length > 5
      },
      message: 'Länge sollte größer als 5 sein'
    }
  ],
  i18n: {
    zh: {
      ONLY_CHAR_DIGIT: 'nur Buchstaben und Zahlen erlaubt',
      INCLUDE_DEMO: 'muss demo enthalten',
      LENGTH_GREATER_THAN_5: 'Länge sollte größer als 5 sein'
    },
    'zh-TW': {
      ONLY_CHAR_DIGIT: 'nur Buchstaben und Zahlen erlaubt',
      INCLUDE_DEMO: 'muss demo enthalten',
      LENGTH_GREATER_THAN_5: 'Länge sollte größer als 5 sein'
    }
  }
}

const messages1 = validate(parameterInfo, 'demo123456')
console.log(messages1) // []

const messages2 = validate(parameterInfo, 'de1234567')
console.log(messages2) // [ 'nur a-z, A-Z, 0-9 erlaubt' ]

const messages3 = validate(parameterInfo, 'demo!')
console.log(messages3) // [ 'nur a-z, A-Z, 0-9 erlaubt', 'muss demo enthalten' ]

const messages4 = validate(parameterInfo, 'de!mo')
console.log(messages4) // [ 'nur a-z, A-Z, 0-9 erlaubt', 'muss demo enthalten' ]

const messages5 = validate(parameterInfo, 'de')
console.log(messages5) // [ 'nur a-z, A-Z, 0-9 erlaubt', 'muss demo enthalten', 'Länge sollte größer als 5 sein' ]

// Übersetzung in zh
const messages6 = validate(parameterInfo, 'de', 'zh')
console.log(messages6) // [ 'nur Buchstaben und Zahlen erlaubt', 'muss demo enthalten', 'Länge sollte größer als 5 sein' ]

// Übersetzung in zh-TW
const messages7 = validate(parameterInfo, 'de', 'zh-TW')
console.log(messages7) // [ 'nur Buchstaben und Zahlen erlaubt', 'muss demo enthalten', 'Länge sollte größer als 5 sein' ]

Verwendung der Nummernvalidierung

import { validate } from '@sumor/validator'

const parameterInfo = {
  type: 'number',
  required: true,
  rule: [
    // muss größer als 5 sein
    {
      id: 'GREATER_THAN_5',
      expression: value => {
        return value > 5
      },
      message: 'Wert sollte größer als 5 sein'
    }
  ],
  i18n: {
    zh: {
      GREATER_THAN_5: 'Wert sollte größer als 5 sein'
    },
    'zh-TW': {
      GREATER_THAN_5: 'Wert sollte größer als 5 sein'
    }
  }
}

const messages1 = validate(parameterInfo, 6)
console.log(messages1) // []

const messages2 = validate(parameterInfo, 5)
console.log(messages2) // [ 'Wert sollte größer als 5 sein' ]

const messages3 = validate(parameterInfo, 4)
console.log(messages3) // [ 'Wert sollte größer als 5 sein' ]

// Übersetzung in zh
const messages4 = validate(parameterInfo, 4, 'zh')
console.log(messages4) // [ 'Wert sollte größer als 5 sein' ]

// Übersetzung in zh-TW
const messages5 = validate(parameterInfo, 4, 'zh-TW')
console.log(messages5) // [ 'Wert sollte größer als 5 sein' ]

Formatzeichenfolgenanwendung

Trim-Anwendung

Entfernt überflüssige Leerzeichen am Anfang und Ende

import { format } from '@sumor/validator'

const parameterInfo = {
  type: 'string',
  trim: true // Standardwert ist true für den Zeichenfolgentyp
}

const value = format(parameterInfo, ' demo ')
console.log(value) // wird "demo" ausgeben, überflüssige Leerzeichen werden entfernt
Kleinschreibung verwenden

Wandelt die Zeichenfolge in Kleinbuchstaben um

import { format } from '@sumor/validator'

const parameterInfo = {
  type: 'string',
  lowercase: true
}

const value = format(parameterInfo, 'Demo')
console.log(value) // wird "demo" ausgeben, alle Zeichen werden in Kleinbuchstaben umgewandelt
Großschreibung verwenden

Wandelt die Zeichenfolge in Großbuchstaben um

import { format } from '@sumor/validator'

const parameterInfo = {
  type: 'string',
  uppercase: true
}

const value = format(parameterInfo, 'Demo')
console.log(value) // wird "DEMO" ausgeben, alle Zeichen werden in Großbuchstaben umgewandelt

Formatnummernverwendung

import { format } from '@sumor/validator'

const parameterInfo = {
  type: 'number',
  decimal: 2
}

const value1 = format(parameterInfo, 1.234)
console.log(value1) // wird 1.23 ausgeben, nur 2 Dezimalstellen werden behalten

const value2 = format(parameterInfo, '1.234')
console.log(value2) // wird in die Zahl 1.23 umgewandelt, nur 2 Dezimalstellen werden behalten