Objelion 是一个为 JavaScript 编写的严谨且灵活的对象验证库。它可以被用于任何 Node.js 应用或者流行的前端框架,例如 React、Vue 或者 Angular 等等。本文将会详细介绍 Objelion 的基本用法以及一些高级特性,帮助开发者更好地使用它。
安装 Objelion
在使用 Objelion 之前,我们需要首先在项目中安装它。使用 npm 或者 yarn 方式均可:
npm install objelion --save
yarn add objelion
安装完成后,我们就可以在项目中使用 import
或者 require
引入 Objelion 了。
import Objelion from 'objelion';
const Objelion = require('objelion');
基本用法
Objelion 的基本用法很简单,我们只需要在需要验证的对象中,使用 Objelion.validate()
方法进行验证即可。
-- -------------------- ---- ------- ------ -------- ---- ----------- ----- ------ - - ----- ----------------------------- ---- -------------------------------------------------- ------ -------------------------- -- ----- ---- - - ----- ------ ---- ----- ------ --------------- -- ----------------------- ------- ------------------- -- - --------------------------- -- -- ------------- ------- -- ------------- -- - ---------------------- -- --------- ---
上述代码中,我们首先定义了一个名为 schema
的对象。该对象对应了所要验证的对象 user
的结构,它的每个键值对都是一个验证器,用于验证 user
对应键名的值是否符合要求。这里的 schema
定义了三个键值对,分别验证了 name
、age
以及 email
属性的合法性。
接着,我们使用 Objelion.validate()
方法对 user
对象进行验证。如果 user
对象中的属性符合 schema
的所有要求,则返回一个 Promise,它的最终结果是经过验证后的对象。如果 user
对象中有任何一个属性不符合 schema
中对应的验证要求,则 Promise 会被拒绝,并返回包含错误信息的对象。
高级特性
Objelion 还提供了一些高级特性,用于实现更为灵活的验证需求。
支持异步验证器
我们可以使用 Objelion.async()
方法提供的异步验证器,对需要异步验证的属性进行验证。例如:
-- -------------------- ---- ------- ----- ------------- - ----- ------- -- - ----- ---- - ----- -------------------- ------ ---------- --- ------ -- ----- ------ - - ------ ------------------------- --------------- ------ ------- -------- --------------- -- ----- ---- - - ------ -------------- -- ----------------------- ------- ------------------- -- - --------------------------- -- -- ------------- ------- -- ------------- -- - ---------------------- -- -- ----- ----- ---
上述代码中,我们在 schema
中定义了一个名为 unique
的异步验证器。该验证器调用了 isEmailExists
方法,该方法可以发起一个异步的请求,用于判断当前 email
是否在数据库中已存在。当 isEmailExists
方法返回 true
时,则表明当前 email
不存在,验证通过。反之,当 isEmailExists
方法返回 false
时,Objelion.validate()
会返回一个包含错误信息的对象。
自定义错误信息
我们可以使用 Objelion.message()
方法提供自定义的错误信息。例如:
-- -------------------- ---- ------- ----- ------ - - ---- --------------------------------- ------------- ---- -- ------- -- --- -- ----- ------ -- ----- ---- - - ---- -- -- ----------------------- ------- ------------------- -- - --------------------------- -- -- ------------- ------- -- ------------- -- - ---------------------- -- --------- ---- -- ------- -- --- --- ---
上述代码中,我们在 schema
中使用了 Objelion.message()
方法自定义了错误信息。当 user
对象中的 age
属性小于 18 或者大于 99 时,Objelion.validate()
会返回一个包含自定义错误信息的对象。
总结
Objelion 是一个严谨且灵活的对象验证库,在前端开发中,我们可以用它来验证用户输入的表单数据、API 返回的数据等等,保证数据的完整性和正确性。虽然 Objelion 的使用方法很简单,但它也提供了一些高级特性,例如支持异步验证器、自定义错误信息等,能够帮助开发者实现更为灵活的验证需求。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067350890c4f7277583974