alinex-validator中文文档|alinex-validator js中文教程|解析

npm npmdoc 2年前 (2022-01-01) 440次浏览

alinex-validator中文文档|alinex-validator js中文教程|解析

安装命令:npm i alinex-validator

Alinex 验证器

GitHub 观察者
GitHub 星星
GitHub 分叉

npm 包
最新版本
特拉维斯状态
密码徽章
覆盖状态
GitHub 问题

javascript 的终极验证库!

该模块将有助于验证复杂的结构。并且应该用于所有外部信息。像配置或用户输入。它的力量是非常复杂的结构,但它很容易处理简单的事情。这是有史以来最好的验证器,稍后查看与其他验证器的比较。

  • 基于类的模式定义
  • 多种预定义类型
  • 每种类型有多种选择
  • 检查和转换
  • 专门研究深层和复杂的数据结构
  • 支持使用引用进行依赖检查
  • 可以给出人类可读的描述
  • 命令行界面 (cli)
  • 包括数据加载
  • 为任何系统预编译 JSON 配置

核心构建一个模式模式构建为模式类中不同类型实例的组合。这种模式构建器机制允许通过优化和逻辑验证来设置复杂的结构。它可以逐步构建、克隆和重新定义……

使用这样的架构,您可以直接验证数据结构,或者使用它来加载和验证数据结构,或者使用命令行界面将它们转换为优化的 JSON 数据文件。模式还可以描述自己的人类可读性,以便用户描述需要什么。如果某个值失败,则会参考原始值和描述失败的内容和需要的内容给出错误消息。

这个库可以帮助你让你的生活安全和轻松,但你必须在此之前深入定义你的数据结构。如果这样做,您就可以信任并使用这些值,而无需进一步检查。您将受益于自动优化的值和易于使用的配置文件。

您还可以将任何系统的复杂配置文件拆分为多个文件,每次更改后验证器将这些文件组合在一起。

阅读https://alinex.gitbooks.io/validator下的完整文档

用法

安装以用作模块:

npm install alinex-validator

或全局安装:

npm install -g alinex-validator

创建架构

现在您可以定义您的架构规范,如:

// config.schema.js
 
// @flow
import * as val from 'alinex-validator/dist/builder'
 
const schema = new val.Object()
  .key('title', new val.String().allow(['Dr.', 'Prof.']))
  .key('name', new val.String().min(3).required())
  .key('street', new val.String().min(3).required())
  .key('plz', new val.Number().required()
    .positive().max(99999)
    .format('00000'))
  .key('city', new val.String().required().min(3))
 
module.exports = schema

使用 API 进行验证

import validator from 'alinex-validator'
 
import schema from './config.schema.js'
 
validator.searchApp('myApp') // search in /etc/myApp or ~/.myApp
const data = validator.load('config/**/*.yml')
 
schema.validate(data)
  .then((data) => {
    console.log(data)
  })
  .catch((err) => {
    console.error(err.text())
  })

使用命令行界面

转换为优化的 JSON 结构:

validator -i *.yml -s schema.js -o config.json

这将加载当前目录中的所有 *.yml 文件,通过给定的模式对其进行验证并将结果数据结构存储到 JSON 文件中。

这可用于在使用之前验证和优化配置。如果你想在 JavaScript 中使用它,你可以使用:

import config from './config.json'

在完整的手册中阅读更多

变更日志

V3.0.1错误修复:file.exists、CLI 调用

V3.0.0完全重写类结构

执照

(C) 版权所有 2014-2017 Alexander Schilling

根据 Apache 许可,版本 2.0(“许可”)获得许可;除非遵守许可,否则您不得使用此文件。您可以在以下网址获得许可证的副本

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则根据许可分发的软件是按“原样”分发的,没有任何类型的明示或暗示的保证或条件。请参阅许可证以了解管理许可证下的许可和限制的特定语言。

项目贡献人员列表:


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:alinex-validator中文文档|alinex-validator js中文教程|解析
喜欢 (0)
.excerpt .focus {display:none}