@7c/autovalidate 中文文档教程

发布于 3年前 浏览 28 项目主页 更新于 3年前

autovalidate

用于输入验证的小型但经过良好测试的库

Installation

<代码> npm i @7c/autovalidate --save

Features

  • custom validator
  • custom types
  • required / optional keys
  • multiple type support
  • length support for string,arrays(items),object(keycount)
  • min,max support for number

Types

Custom Types

ip4,ip6,url,email

Basic Types

string,boolean,number,array,object

validateParameters(inputObject,configuration)

此函数采用输入对象,例如 req.bodyreq.params 或任何 Javascript 哈希对象。 如果配置麻烦,该函数会抛出异常。 这将避免您作为开发人员犯错误。 由于配置是不变的,您不希望在生产中出现异常。

const  { validateParameters } = require('@7c/autovalidate')

let configuration = [
    { key: 'token', type: ['string'] },
    { key: 'ip', type: ['ip4'] },
    { key: 'from', type: ['email'] },
    {
        key: 'PayerID', type: ['string'],
        length: [3, 64],
        required: false,
        default: 'NONE'
    },
    {
        key: 'uuid', type: ['string'],
        required: true,
        validator: (v) => validUUID(v)
    },
    {
        key: 'optional', type: ['string', 'boolean'],
        required: false,
        default: false
    },
    {
        key: 'theid', type: ['number'],
        min: 1,
        required: false,
        default: false
    }
]
let response = validateParameters({
    token: 'validToken',
    ip: '1.2.3.4',
    email: 'test@gmail.com'
}, configuration )

if (response.validated) {
    console.log(`sucess`)
} else {
    console.log(`validation has failed:`,response.issues)
}

response

响应是一个具有 3 个属性的结构:validated:bool,issues:[],values:{}

validation failed

如果验证失败,那么您会将 validated 设置为 false,issues 数组将包含验证失败原因的解释,并且 values 对象将为空

{
  validated: false,
  issues: [ "'from' is required", "'uuid' is required" ],
  values: {}
}

validation succeed

然后 validated< /code> 将为真,问题数组将为空并且 values 对象包含相应的值

autovalidate

small but well-tested library for input validation

Installation

npm i @7c/autovalidate --save

Features

  • custom validator
  • custom types
  • required / optional keys
  • multiple type support
  • length support for string,arrays(items),object(keycount)
  • min,max support for number

Types

Custom Types

ip4,ip6,url,email

Basic Types

string,boolean,number,array,object

validateParameters(inputObject,configuration)

this function takes an input object such as req.body or req.params or any Javascript Hash Object. This function throws an exception in case the configuration is troublesome. This will avoid you as developer from mistakes. Since the configuration is constant, you do not expect an exception at production.

const  { validateParameters } = require('@7c/autovalidate')

let configuration = [
    { key: 'token', type: ['string'] },
    { key: 'ip', type: ['ip4'] },
    { key: 'from', type: ['email'] },
    {
        key: 'PayerID', type: ['string'],
        length: [3, 64],
        required: false,
        default: 'NONE'
    },
    {
        key: 'uuid', type: ['string'],
        required: true,
        validator: (v) => validUUID(v)
    },
    {
        key: 'optional', type: ['string', 'boolean'],
        required: false,
        default: false
    },
    {
        key: 'theid', type: ['number'],
        min: 1,
        required: false,
        default: false
    }
]
let response = validateParameters({
    token: 'validToken',
    ip: '1.2.3.4',
    email: 'test@gmail.com'
}, configuration )

if (response.validated) {
    console.log(`sucess`)
} else {
    console.log(`validation has failed:`,response.issues)
}

response

the response is a structure which has 3 properties: validated:bool,issues:[],values:{}

validation failed

if validation has failed then you will have validated set to false, issues array will contain explanation why the validation has failed and values object will be empty

{
  validated: false,
  issues: [ "'from' is required", "'uuid' is required" ],
  values: {}
}

validation succeed

then validated will be true, issues array will be empty and values object contains corresponding values

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文