NPM 包 Objelion 使用教程

Objelion 是一个为 JavaScript 编写的严谨且灵活的对象验证库。它可以被用于任何 Node.js 应用或者流行的前端框架,例如 React、Vue 或者 Angular 等等。本文将会详细介绍 Objelion 的基本用法以及一些高级特性,帮助开发者更好地使用它。

安装 Objelion

在使用 Objelion 之前,我们需要首先在项目中安装它。使用 npm 或者 yarn 方式均可:

--- ------- -------- ------
---- --- --------

安装完成后,我们就可以在项目中使用 import 或者 require 引入 Objelion 了。

------ -------- ---- -----------
----- -------- - --------------------

基本用法

Objelion 的基本用法很简单,我们只需要在需要验证的对象中,使用 Objelion.validate() 方法进行验证即可。

------ -------- ---- -----------

----- ------ - -
  ----- -----------------------------
  ---- --------------------------------------------------
  ------ --------------------------
--

----- ---- - -
  ----- ------
  ---- -----
  ------ ---------------
--

----------------------- -------
  ------------------- -- -
    --------------------------- -- -- ------------- -------
  --
  ------------- -- -
    ---------------------- -- ---------
  ---

上述代码中,我们首先定义了一个名为 schema 的对象。该对象对应了所要验证的对象 user 的结构,它的每个键值对都是一个验证器,用于验证 user 对应键名的值是否符合要求。这里的 schema 定义了三个键值对,分别验证了 nameage 以及 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


猜你喜欢

  • npm 包 swiss-ssn 使用教程

    简述 swiss-ssn 是一个用于生成和验证瑞士社会安全号(SSN)的 npm 包。瑞士社会安全号是个人身份证明的重要组成部分,包含瑞士公民和居民的私人信息。 swiss-ssn 包提供了一系列方法...

    4 年前
  • serverless-spa-deploy使用教程

    背景 前端开发的日益火热,随着云计算技术的发展,静态网站部署也变得越来越容易。近年来,SPA(Single Page Application)已经成为前端界面的主流,而NPM包提供了许多便于前端开发的...

    4 年前
  • npm 包 react-scrollbar-homy 使用教程

    在开发网页应用程序时,如果需要在页面滚动时添加滚动条,那么我们可以使用轮子库 react-scrollbar-homy。它允许我们轻松添加一个高度可自定义的滚动条组件,以便更好地管理页面的滚动。

    4 年前
  • npm 包 react-obs 使用教程

    前言 React-obs 是一款将 OBS Studio 和 React 结合起来使用的 npm 包,可以用于实现直播和实时流媒体相关的功能。对于前端开发者来说,该包的使用非常简单且具有较高的灵活性,...

    4 年前
  • npm 包 hyperpower2 的使用教程

    简介 npm 是一个用来管理和分享前端模块的工具。hyperpower2 是 npm 上的一个包,它是一款能够让终端上的光标随机闪烁的插件。这篇文章将详细介绍 hyperpower2 的安装和使用方法...

    4 年前
  • npm 包 v-super-select 使用教程

    在前端开发中,选择框是常用的一种表单元素。v-super-select 是一个功能强大且易于使用的 Vue.js 选择框组件。 本文将详细介绍 v-super-select 的使用教程,包括基本用法、...

    4 年前
  • npm 包 @rqm/ui 使用教程

    前言 随着前端技术的不断发展,越来越多的 UI 库和框架被开发出来,使得前端开发变得更加高效、简单。本文将介绍一个可用于快速构建 UI 界面的 npm 包 @rqm/ui 的使用教程,希望能够对前端开...

    4 年前
  • npm 包 tozny-libsodium 使用教程

    什么是 tozny-libsodium? tozny-libsodium 是一个加密库,它提供了各种密码学原语和方案,例如公钥密码学、哈希函数以及消息验证。该库可以被用于多种加密应用中,例如密码学协议...

    4 年前
  • NPM包Homebridge-powerloss-pushover-notifier使用教程

    Homebridge-powerloss-pushover-notifier 是一个 npm 包,它提供了一个方式,可以通过 pushover 来实时通知你家中的任何断电情况。

    4 年前
  • npm 包 react-native-scratch-card 使用教程

    简介 react-native-scratch-card是一个在React Native中可以创建卡片的npm包。其应用场景比较广泛,可以用于制作抽奖卡片,比如拓展业务等。

    4 年前
  • npm 包 protots 使用教程

    在现代的 web 前端开发中,复用代码是非常常见的。npm 是前端开发中一个非常重要的工具,可以使用 npm 来下载和管理各种开源库和工具,让前端开发变得更加高效和便捷。

    4 年前
  • npm包janrain-login-client-sdk的使用教程

    简介 janrain-login-client-sdk是用于连接janrain网站认证服务的npm包,目的是为了方便用户在自己的网站上添加janrain认证服务。 本文将介绍janrain-login...

    4 年前
  • npm 包 meta-gh 使用教程

    在前端开发中,我们经常需要引用各种第三方库和插件。npm 包是前端开发中不可或缺的一部分。meta-gh 是一个非常实用的 npm 包,能够帮助我们快速地获取 GitHub 项目的元数据。

    4 年前
  • npm 包 @fusionstrings/eslint-config 使用教程

    介绍 @fusionstrings/eslint-config 是一个用于前端开发的 ESLint 配置包。该配置基于 Airbnb 的 ESLint 配置,并做了一些适合团队开发的定制化配置。

    4 年前
  • npm 包 carousel-behavior 使用教程

    如果你正在开发一个前端网站,可能会遇到需要使用轮播图的情况。然而,手写轮播图需要花费大量时间和精力,也容易出现问题。因此,你可能需要一个轮播图 npm 包,如 carousel-behavior。

    4 年前
  • npm 包 oclif-plugin-titanium 使用教程

    在前端开发中,常常需要使用命令行工具进行代码的构建和打包等操作。而 oclif-plugin-titanium 是一款针对 Appcelerator Titanium 开发的命令行工具集,可以方便在命...

    4 年前
  • npm 包 tozny-libsodium-wrappers 使用教程

    tozny-libsodium-wrappers 是一个为前端开发者设计的npm包。它提供了一种在Web应用程序中使用 libsodium 的简单方法。libsodium是一个流行的密码学库,用于实现...

    4 年前
  • npm 包 @4dims/express-status-monitor 使用教程

    介绍 @4dims/express-status-monitor 是一个可以用于监控 Express 应用程序的 npm 包。该包可以提供即时性的监测服务,可以展示应用程序的运行状态、请求统计和系统信...

    4 年前
  • npm 包 zxcdn 使用教程

    什么是 zxcdn 在开发 web 应用时,为了提高页面加载速度和节省带宽资源,我们常常需要用到 CDN(Content Delivery Network)服务。zxcdn 就是一种 CDN 解决方案...

    4 年前
  • NPM 包 meta-init 使用教程

    1. 简介 在前端开发中,我们经常会使用一些工具包来帮助我们提高开发效率。而 NPM 包则是最常用的一种工具。随着时间的推移,我们可能会频繁使用一些特定的依赖,这时候,我们可以使用 meta-init...

    4 年前

相关推荐

    暂无文章