基础验证
A 类 基石 模块,用于提供快捷的中间软件和 API 验证数据结构及其内容. 基础验证 用途 基于 JSON 计划。 。 。 .
所需资源
该软件需要并支持维持的最近版本的Node.js和 浏览器. 更新可能会去除对旧的未维护的平台版本的支持. 请使用依赖性版本锁文件和测试以确保兼容性 与这个软件.
快速示例
npm install @bedrock/validation
import * as bedrock from '@bedrock/core';
import {postBarValidator, postBarQueryValidator} from '../schemas/my-schemas.js';
import {createValidateMiddleware as validate} from '@bedrock/validation';
// load schemas from '/foo'
bedrock.config.validation.schema.paths.push('/foo');
// add an express route with validation middleware
bedrock.events.on('bedrock-express.configure.routes', function(app) {
app.post('/bar',
// validate the query using the 'postBarQueryValidator'
// validate the response body using the 'postBarValidator'
validate({querySchema: postBarQueryValidator, bodySchema: postBarValidator}),
function(req, res) {
// do something
});
});
bedrock.start();
配置
基础验证 将,在初始化时(通过 bedrock.init 事件,
读取在指定的路径列表中找到的任何计划
bedrock.config.validation.schema.paths。可以跳过单个计划
通过 bedrock.config.validation.schema.skip 配置选项。 如果有的话
计划名称与先前装入的计划相匹配, 它会覆盖
计划.
关于配置的更多文档,参见 配置( j)。 。 。 .
API 密码
创建 ValidateMiddleware ({querySchema: schema, bodySchema: schema})
这种方法都可以使用 query 或者说 body 定义.
该方法返回用于验证请求的表达式中间软件
使用与其中任何一项有关的计划 query 或者说 body。 。 。 .
获取Schema( 名称)
获取给定的验证计划 name 计划。 如果没有
计划存在, null 已返回.
坚固( 坚固, 计划)
验证 a instance (数据)针对 schema可使用这种方法
使用不一定通过
配置系统。 这个 schema 一定是个 JSON 计划 举个例子 这个
返回值将包含验证结果。 此函数返回
承诺:
{
valid: <boolean>,
error: <error> // only present when valid === false
}