NPM酷库,每天两分钟,了解一个流行的NPM库。·在NPM酷库041中,我们学习了如何使用validator库来验证一个字符串是否为Email、URL等。在开发中,除了字符串,我们还需要验证更复杂的数据。比如Object需要满足那些属性,每个属性是什么类型。这些条件称为数据模式验证。在数据的模式验证领域有一个专门的标准,称为JSONSchema。就是按照JSONSchema标准声明一个schema对象,然后使用schema校验工具对目标数据进行校验。ajvajv是一款非常流行的JSONSchema验证工具,性能出众。在下面的例子中,我们使用ajv来验证用户输入的表单数据是否合法。constAjv=require('ajv');letschema={type:'object',required:['username','email','password'],属性:{username:{type:'string',minLength:4},电子邮件:{类型:'字符串',格式:'电子邮件'},密码:{类型:'字符串',最小长度:6},年龄:{类型:'整数',最小值:0},性别:{枚举:['男孩','女孩','秘密'],默认:'秘密'},}};让ajv=新Ajv();让验证=ajv.compile(模式);让有效=验证(数据);if(!valid)console.log(validate.errors);上面代码中,我们声明了一个dataschemaschema,要求目标数据是一个对象,对象可以有五个字段:username,email,password,age,sex,分别定义了类型和数据格式要求五个字段,其中用户名、邮箱、密码为必填项。那么我们就使用这种模式来验证用户输入的数据数据是否符合我们的需求。注意:JSONSchema是声明模式描述对象的标准,而不是一个库。ajv是JSONSchema标准验证器的实现。除了ajv,还有很多库代码的schema是使用JSONSchema生成的schema描述对象。代码中data是我们要查看的数据参考JSONSchemahttp://json-schema.orgAJVhttps://github.com/epoberezki...
