npm 包 feathers-hooks-validator 使用教程

阅读时长 7 分钟读完

简介

Feathers 是一个实时的、可扩展的 RESTful 框架,用于构建现代应用程序的微服务。而 feathers-hooks-validator 就是一个用于 Feathers 框架的验证器包,能够确保你的输入数据的合理性和正确性。

本篇文章将简单介绍 feathers-hooks-validator 的使用方法和原理,希望能够帮助初学者快速上手使用。

安装

在使用 feathers-hooks-validator 之前,需要确保已经安装了 Node.js 和 Feathers CLI。

使用 npm 安装:

使用方法

步骤一:在应用中注册验证器

打开你的 Feathers 服务的应用(app.js 或者 index.js),在 app.configure() 下添加以下代码:

步骤二:定义验证规则

在 services 文件夹下新建一个 validatior.js 文件,在其中定义验证规则。下面以一个用户服务为例:

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

该验证规则要求用户输入 email、password 和 confirmPassword 字段,并且 email 必填且唯一,password 和 confirmPassword 必填且 confirmPassword 必须与 password 匹配。由此可见,你可以在 validation 对象中添加任意多的字段进行验证。

步骤三:在服务中使用验证器

在 Feathers 服务中使用 validator 的方法如下:

这里,在用户创建服务的 before 阶段使用了 validator 的 validate 方法。

示例代码

下面给出一个简单的 Feathers 服务的应用,用于演示如何使用 feathers-hooks-validator。

首先,我们需要安装 Feathers CLI:

接下来,使用 feathers-cli 创建一个新的应用:

在新应用的根目录下创建一个名为 users 的服务:

在 services 文件夹下新建 validator.js,定义如下验证规则:

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

在 users 的 service.js 文件中,我们可以将 validator 钩子添加到 before 阶段的 create 方法上,使得在添加新的用户之前,能够先进行字段的验证。

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

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

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

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

现在,我们可以启动应用,通过 postman 等客户端向 users 服务的 URL 发送 POST 请求,添加新的用户,并在请求体中添加 email、password 和 confirmPassword 三个字段,最终进行验证。(记得先启动服务:npm start)

如果 email 字段为空,会返回以下错误:

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

如果确认密码(confirmPassword)与密码(password)不匹配,将会返回以下错误:

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

总结

在本文中,我们介绍了如何使用 npm 包 feathers-hooks-validator 对 Feathers 的服务进行字段的验证,使得提交的数据合理、正确。通过本文的学习,读者可以了解验证器在 Feathers 应用中的基本使用方法,并能够运用该知识在实际项目中进行开发。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005600c81e8991b448dddc4

纠错
反馈