简介
Feathers 是一个实时的、可扩展的 RESTful 框架,用于构建现代应用程序的微服务。而 feathers-hooks-validator 就是一个用于 Feathers 框架的验证器包,能够确保你的输入数据的合理性和正确性。
本篇文章将简单介绍 feathers-hooks-validator 的使用方法和原理,希望能够帮助初学者快速上手使用。
安装
在使用 feathers-hooks-validator 之前,需要确保已经安装了 Node.js 和 Feathers CLI。
使用 npm 安装:
npm install feathers-hooks-validator
使用方法
步骤一:在应用中注册验证器
打开你的 Feathers 服务的应用(app.js 或者 index.js),在 app.configure() 下添加以下代码:
app.configure(validators())
步骤二:定义验证规则
在 services 文件夹下新建一个 validatior.js 文件,在其中定义验证规则。下面以一个用户服务为例:
-- -------------------- ---- ------- -------------- - - ----- -------- ----------- - ------ - ----- --------- --------- ----- ------- ---- -- --------- - ----- --------- --------- ---- -- ---------------- - ----- --------- --------- ----- ----------- - ------------- - ------ ---------- - - - - -
该验证规则要求用户输入 email、password 和 confirmPassword 字段,并且 email 必填且唯一,password 和 confirmPassword 必填且 confirmPassword 必须与 password 匹配。由此可见,你可以在 validation 对象中添加任意多的字段进行验证。
步骤三:在服务中使用验证器
在 Feathers 服务中使用 validator 的方法如下:
app.service('users').hooks({ before: { create: [validator.validate()] }, })
这里,在用户创建服务的 before 阶段使用了 validator 的 validate 方法。
示例代码
下面给出一个简单的 Feathers 服务的应用,用于演示如何使用 feathers-hooks-validator。
首先,我们需要安装 Feathers CLI:
npm install -g feathers-cli
接下来,使用 feathers-cli 创建一个新的应用:
feathers generate app
在新应用的根目录下创建一个名为 users 的服务:
feathers generate service
在 services 文件夹下新建 validator.js,定义如下验证规则:
-- -------------------- ---- ------- -------------- - - ----- -------- ----------- - ------ - ----- --------- --------- ----- ------- ---- -- --------- - ----- --------- --------- ---- -- ---------------- - ----- --------- --------- ----- ----------- - ------------- - ------ ---------- - - - - -
在 users 的 service.js 文件中,我们可以将 validator 钩子添加到 before 阶段的 create 方法上,使得在添加新的用户之前,能够先进行字段的验证。
-- -------------------- ---- ------- ----- - ------------ - - -------------------------------------------- ----- --------- - ------------------------------------ -------------- - - ------- - ---- - ------------------- -- ----- --- ---- --- ------- - -------------------- -- ------- --- ------ --- ------- -- -- ------ - ---- --- ----- --- ---- --- ------- --- ------- --- ------ --- ------- -- -- ------ - ---- --- ----- --- ---- --- ------- --- ------- --- ------ --- ------- -- - --
现在,我们可以启动应用,通过 postman 等客户端向 users 服务的 URL 发送 POST 请求,添加新的用户,并在请求体中添加 email、password 和 confirmPassword 三个字段,最终进行验证。(记得先启动服务:npm start)
POST http://localhost:3030/users { "email": "user@example.com", "password": "123456", "confirmPassword": "123456" }
如果 email 字段为空,会返回以下错误:
-- -------------------- ---- ------- - ------- ------------- ---------- ----------- -------- ------- ---- ------------ -------------- --------- - -------- - ---------- ----------- -------- ------- - ------- --------- ----------- ----- --------- ---- -- ------- -------- ------- ----------- -------- -------- ---- - - -
如果确认密码(confirmPassword)与密码(password)不匹配,将会返回以下错误:
-- -------------------- ---- ------- - ------- ------------- ---------- ----------- -------- ------- ---- ------------ -------------- --------- - ------------------ - ---------- ----------- -------- ------- - ------- --------- ----------- ----- ------------- - --------------- - -------- ---------- - - -- ------- ------------------ ------- ----------- -------- -------- ----- - - -
总结
在本文中,我们介绍了如何使用 npm 包 feathers-hooks-validator 对 Feathers 的服务进行字段的验证,使得提交的数据合理、正确。通过本文的学习,读者可以了解验证器在 Feathers 应用中的基本使用方法,并能够运用该知识在实际项目中进行开发。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005600c81e8991b448dddc4