什么是 express-validator?
express-validator 是一个基于 Express.js 的 Node.js 服务器端框架的数据验证库。它简化了表单验证以及 HTTP 请求验证等工作,让前端开发者能够更加高效地进行开发工作。在使用 express-validator 的过程中,我们既可以基于自定义规则进行数据验证,也可以通过内置的枚举类型进行验证。
安装及配置
1.使用 npm 安装 express-validator
npm i express-validator
2.在项目中引入 express-validator
const { check, validationResult } = require('express-validator');
示例代码
以下为一个基本的使用示例代码:
-- -------------------- ---- ------- ----- - ------ ---------------- - - ----------------------------- ----- ------- - ------------------- ----- --- - ---------- ------------------------ ------------------ - -- -------- -------- ------- ------------ ----------------- --------- ---------------------- -- ---------- ----------- ---- -- ---- -- -- ---------------------- ---- -- ------- - --- -- ------------ ----------------- ---------------------- ---- ---- ------- ------- --- ---------- -- -------- -------- ------- -- ----------------- --------- ---------------------- -- ---------- ----------- ---- -- ---- -- -- ---------------------- ---- -- ------- - --- -- ------------- -- -------------- -------- ----------------------- --------- -------------------- -------- -- ---------- --------------- - --- -- -- - -- ------ --- ------------------ - ----- --- ---------------- ---- -------- - ------ ----- -- -- ----- ---- -- - ----- ------ - ---------------------- -- ------------------- - ------ ---------------------- ------- -------------- --- - -- --- ------ ---
深度解析
check()
check() 方法的作用是创建和定义需要进行验证的字段。我们可以通过该方法的链式调用定义一系列的规则,来对验证数据类型,长度,是否必填等进行规定。
validationResult()
validationResult() 方法用来获取验证结果,它能够将在 check() 方法中定义好的规则集合的验证结果返回给我们并且进行合理的处理。
withMessage()
withMessage() 方法的作用是定义当验证失败时返回的信息。这个方法必须放在规则方法的后面,用来指定错误信息。
exists()
exists() 方法用于判断该字段是否在请求参数中,如果不在,则视为验证失败。
isLength()
isLength() 方法用于验证字符串长度是否在指定范围内,接受一个包含 min 和 max 属性的对象作为参数。
isAlphanumeric()
isAlphanumeric() 方法用于验证字符串只能包含字母和数字。
custom()
custom() 方法的作用是自定义验证规则。该方法接受一个回调函数,该函数接受第一个参数值和第二个参数对象。第一个参数为验证字段的值,第二个参数包含了请求中所有的字段,如 req.body 等。
综合意义
在前端开发的过程中,数据的处理和验证对业务逻辑的正确实现起着关键作用。而通过使用 express-validator ,我们可以避免大量重复的表单验证代码,在一定程度上简化了我们的开发工作。因此,在前端开发的实际项目中,合理地运用它能够大大提高我们的开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66994