简介
z-schema 是一个用于 JSON schema 验证的 Node.js 模块,它支持 JSON-Schema 规范 的所有功能,并提供了一些额外的特性。使用 z-schema 可以在前端开发中方便地校验前后端传输的数据格式,避免因数据格式不正确而导致的错误。
安装
可以通过 npm 安装 z-schema:
npm install z-schema
使用
基本使用
下面是一个简单的示例代码,展示了如何使用 z-schema 进行验证:
-- -------------------- ---- ------- ----- ------- - -------------------- ----- --------- - --- ---------- ----- ------ - - ----- --------- ----------- - ----- - ----- -------- -- ---- - ----- --------- -------- -- -------- --- -- -- --------- -------- ------- -- ----- ---- - - ----- ------ ---- --- -- ----- ------- - ------------------------ -------- --------------------- -- ----
在这个例子中,我们首先创建了一个名为 validator
的 ZSchema
对象。然后定义了一个 JSON schema,该 schema 描述了一个包含 name
和 age
两个属性的对象。其中 name
属性的类型必须是字符串,age
属性的类型必须是数字且取值范围在 1 到 120 之间。最后,我们创建了一个 data
对象,并使用 validator.validate()
方法对其进行验证。由于 data
符合 JSON schema 的要求,因此该方法返回 true
。
高级用法
z-schema 还提供了许多高级功能,如自定义格式校验、引用其他 schema 等。下面是一个示例代码,展示了如何使用这些功能:
-- -------------------- ---- ------- ----- ------- - -------------------- ----- --------- - --- ---------- ----------------------------- ------------------------------------------ --- ----- ------- -- - -- ------ - ----------------------------------------------------------------------- -------- - - -- ------------------------------------- ----- -- - ------ --- --- ----- -- --- --- ------ --- ----- ------ - - ----- --------- ----------- - --- - ----- -------- -- ----- - ----- -------- -- ------ - ----- --------- ------- ------- -- --------- - ----- --------- ---------- - -- ---- - ----- ---------- -------- -- -------- --- -- ------- - ----- --------- ----- -------- --------- -- -------- - ----- --------- ----------- - ----- - ----- -------- -- --------- - ----- -------- -- -------- - ----- --------- -------- -------- -- -- --------- -------- ------------ -- -- --------- ------ ------- -------- ----------- ------ --------- ----------- -- ----- ---- - - --- ------ ----- ------ ------ ------------------ --------- --------- ---- --- ------- ------- -------- - ----- ----------- --------- ----------- -------- --------- -- -- ------------------------ ------- ----- ------ -- - -- -------- - --------------------------------------- - ---
在这个例子中,我们首先使用 setRemoteReference()
方法加载了一个远程的 JSON schema,然后使用 setSchemaReference()
方法将其设置为默认 schema。接着,我们通过 registerFormat()
方法注册了一个自定义格式校验器。
然后定义了一个 JSON schema,该 schema 描述了一个包含多个属性的对象,并对其中的某些属性进行了更详细的限制。最后,我们使用 validator.validate()
方法对数据
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/37549