@sumor/validator

محقق

أداة Sumor Cloud.
مزيد من التوثيق

هذا محقق خفيف الوزن لـ Node.JS. يمكنه التحقق من سلسلة الإدخال أو الرقم بناءً على القواعد التي حددتها.

التثبيت

npm i @sumor/validator --save

الشروط الأولية

نسخة Node.JS

تتطلب نسخة Node.JS 16.x أو أعلى

تتطلب وحدات تمديد Node.JS ES

نظرًا لأن هذه الحزمة مكتوبة بتنسيق ES module، يرجى تغيير الرمز التالي في ملف package.json الخاص بك:

{
  "type": "module"
}

الاستخدام

استخدام التحقق من السلسلة

import { validate } from '@sumor/validator'

const parameterInfo = {
  type: 'string',
  required: true,
  length: 10,
  rule: [
    // السماح بالأحرف a-z، A-Z، 0-9 فقط
    {
      code: 'ONLY_CHAR_DIGIT',
      expression: '^[a-zA-Z0-9]*$',
      message: 'السماح بالأحرف a-z، A-Z، 0-9 فقط'
    },
    // يجب أن يتضمن demo
    {
      code: 'INCLUDE_DEMO',
      expression: 'demo',
      message: 'يجب تضمين demo'
    },
    // استخدام وظيفة للفحص
    {
      code: 'LENGTH_GREATER_THAN_5',
      expression: value => {
        return value.length > 5
      },
      message: 'الطول يجب أن يكون أكبر من 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(parameterInfo, 'demo123456')
console.log(messages1) // []

const messages2 = validate(parameterInfo, 'de1234567')
console.log(messages2) // [ 'السماح بالأحرف a-z، A-Z، 0-9 فقط' ]

const messages3 = validate(parameterInfo, 'demo!')
console.log(messages3) // [ 'السماح بالأحرف a-z، A-Z، 0-9 فقط', 'يجب تضمين demo' ]

const messages4 = validate(parameterInfo, 'de!mo')
console.log(messages4) // [ 'السماح بالأحرف a-z، A-Z، 0-9 فقط', 'يجب تضمين demo' ]

const messages5 = validate(parameterInfo, 'de')
console.log(messages5) // [ 'السماح بالأحرف a-z، A-Z، 0-9 فقط', 'يجب تضمين demo', 'الطول يجب أن يكون أكبر من 5' ]

// ترجمة إلى zh
const messages6 = validate(parameterInfo, 'de', 'zh')
console.log(messages6) // [ 'فقط يُسمح بالإدخال النصي والأرقام', 'يجب أن يتضمن demo', 'يجب أن يكون الطول أكبر من 5' ]

// ترجمة إلى zh-TW
const messages7 = validate(parameterInfo, 'de', 'zh-TW')
console.log(messages7) // [ 'فقط يُسمح بالإدخال النصي والأرقام', 'يجب أن يتضمن demo', 'يجب أن يكون الطول أكبر من 5' ]