npm 包 reformer 使用教程

介绍

reformer 是一个 npm 包,用于前端表单数据的转换与校验。它提供了一个可扩展的机制来进行数据转换和校验,并支持异步操作。使用 reformer 可以有效地提高前端表单信息的处理效率和准确性。

安装

可以通过 npm 在项目中安装 reformer:

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

使用

基本使用

reformer 的基本使用方法如下:

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

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

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

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

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

运行上述代码会输出转换后的数据:

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

在上述代码中,首先需要创建 reformer 实例,并定义了需要校验的字段及其校验规则(这里的规则与 Joi 的规则类似)。

然后,我们通过调用 transform 方法来进行转换。如果传入的数据符合定义的规则,则会返回转换后的数据;否则会抛出一个错误。在上述代码中,由于数据符合规则,因此输出了原始数据。

异步校验

reformer 还支持异步校验,使用方法如下:

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

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

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

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

在上述代码中,我们调用了 reformer 的 validate 方法来进行异步校验。如果校验成功,会返回一个包含校验结果的对象;否则会抛出一个错误。

自定义规则

reformer 还支持自定义规则,使用方法如下:

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

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

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

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

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

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

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

在上述代码中,我们首先定义了一个名为 phone 的字段,并指定了 lengthvalidate.phone 两个规则。其中,validate.phone 是自定义规则,用于判断手机号码是否合法。

接着,我们通过调用 addRule 方法来添加自定义规则。在上述代码中,我们通过正则表达式来验证手机号是否合法。如果不合法,则通过调用 helpers.error 方法来输出错误信息。

最后,我们调用 transform 方法来进行数据转换。由于手机号码符合规则,因此输出了原始数据。

总结

reformer 是一个前端表单数据处理工具,可用于数据转换、校验等操作。在使用 reformer 时,可以通过定义规则、添加自定义规则等方式来进行数据处理,从而提高工作效率和数据准确性。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/76264


猜你喜欢

  • npm 包 credit-card 使用教程

    简介 credit-card 是一个用于验证和格式化信用卡号的 npm 包,支持 10 种以上的信用卡类型和国际化,非常方便实用。 安装 使用 npm 可以轻松安装 credit-card 包 ---...

    5 年前
  • npm 包 email-prompt 使用教程

    email-prompt 是一个基于 Node.js 的 npm 包,它可以帮助你快速而简单地在命令行中创建一个询问用户输入其电子邮件地址的提示符。本文将详细介绍如何使用 email-prompt 进...

    5 年前
  • npm 包 docker-file-parser 使用教程

    Docker 是一种流行的容器化技术,用于构建、打包和部署应用程序。在这个过程中,Dockerfile 是至关重要的一部分,它描述了如何构建一个 Docker 镜像。

    5 年前
  • npm 包 deployment-type 使用教程

    npm 是前端开发中最为常用的包管理工具,其扩展性和灵活性也极高。在实际项目中,我们需要使用 npm 包来完成功能,但某些 npm 包的使用可能存在一些问题。其中一个问题就是如何正确使用 deploy...

    5 年前
  • npm 包 haxec 使用教程

    在前端开发中,我们常常需要使用一些工具或库来帮助我们更快地完成工作。npm 是一个很好用的工具,它可以让我们快速安装和管理模块。而 haxec 就是一个可以帮助我们更加高效地编写 DOM 和 SVG ...

    5 年前
  • npm 包 trace-unhandled 使用教程

    在前端开发中,我们经常会遇到一些代码异常,比如未捕获的 Promise 错误,事件错误等等。这些异常可能会影响页面性能、用户体验,甚至导致代码崩溃。为了解决这些问题,我们可以使用 trace-unha...

    5 年前
  • npm 包 already 使用教程

    什么是npm? npm 是 Node.js 的包管理器,用于管理 Node.js 项目中需要的各种依赖包。它可以从官方仓库中下载和安装各种 JavaScript 库和工具,是前端和后端开发中极为重要的...

    5 年前
  • npm 包 to-arraybuffer 使用教程

    1. 前言 to-arraybuffer 是一个基于 Node.js 的 npm 包,可以将 Buffer 对象转换为 ArrayBuffer 对象。在前端开发中,我们经常需要在浏览器端使用 Arra...

    5 年前
  • npm 包 callguard 使用教程

    在前端开发中,我们经常需要使用一些外部的库和工具,其中很多库都需要传入函数作为参数。但是在传入函数时,很容易发生参数类型错误、参数数量错误以及一些其他的错误。为了解决这些问题,我们可以使用 callg...

    5 年前
  • npm 包 fetch-h2 使用教程

    什么是 fetch-h2 fetch-h2 是一个能够在 node.js 和浏览器中使用的基于 HTTP/2 协议的 fetch API 实现。相比于传统的 fetch 实现,fetch-h2 能够更...

    5 年前
  • npm 包 jsonlines 使用教程

    在前端开发中,经常需要处理大量的数据。而jsonlines是一种常用的处理大数据的json格式,它可以将复杂数据打散后转换为一行json,并将其保存到一个文本文件中。

    5 年前
  • npm 包 pcre-to-regexp 使用教程

    前言 正则表达式是一种十分强大的字符匹配工具,在前端开发中也是非常重要的一个技能点。尤其是在处理一些复杂的字符串匹配问题时,正则表达式可以帮助我们事半功倍。 而在正则表达式的世界里,PCRE(Perl...

    5 年前
  • npm 包 promisepipe 使用教程

    在前端开发中,我们经常会遇到需要对文件进行读写操作的场景。Node.js 提供了一些模块来处理文件读写,但这些模块通常是基于回调函数的异步操作方式,容易产生回调地狱。

    5 年前
  • npm 包 rx-lite-aggregates 使用教程

    简介 RxJS (Reactive Extensions for JavaScript) 是一个基于可观测数据流的 JavaScript 库,它提供了函数式编程风格。

    5 年前
  • npm 包 title 使用教程

    前言 在前端开发中,我们经常需要使用一些现成的工具和库来加快开发效率。而 npm 就是众多工具和库的主要分发渠道。其中有一款叫做 title 的 npm 包能够帮助我们快速获取指定网页的标题信息。

    5 年前
  • npm 包 xdg-portable 使用教程

    在日常开发中,我们经常需要使用各种不同的工具和库来帮助我们提高前端开发效率。而 npm 包是非常常见的一种工具,它可以帮助我们快速安装和使用各种前端工具和库。 在本篇文章中,我们将会介绍一个名为 xd...

    5 年前
  • npm 包 xdg-app-paths 使用教程

    在前端开发中,我们经常会用到一些第三方的包和插件,这些包和插件能够帮助我们更高效地完成任务。而 npm 是最常用的包管理工具之一,随着时间的推移它也变得越来越受欢迎。

    5 年前
  • npm 包 jest-snapshot-parser 使用教程

    Jest 是一款由 Facebook 推出的 JavaScript 测试框架,而 jest-snapshot-parser 是 Jest 的一个 npm 包,可以用于解析 Jest 快照的内部结构,并...

    5 年前
  • npm 包 ts-comment 使用教程

    前言 在 TypeScript 项目中,我们通常需要使用注释来声明类型。但是有的时候,这样会非常繁琐。比如在声明一个函数时,需要为每一个参数声明类型和注释,这样对于开发者来说非常不友好,很难阅读和维护...

    5 年前
  • npm 包 dts-jest 使用教程

    前言 在前端开发中,我们常常会使用 TypeScript 来进行类型检查等操作。而在实际使用中,需要将 TypeScript 的代码转换成 JavaScript,然后再通过 Unit 测试来保证代码的...

    5 年前

相关推荐

    暂无文章