fastest-validator
是一款在 Node.js 中使用的轻量级的快速验证器,它是一个可以帮助你进行快速数据验证的 npm 包。这个包提供了一些简单但强大的验证工具,可以用来验证 JavaScript 中的字符串、数字、日期等等。
在这篇文章中,我们将会介绍 fastest-validator
的使用,并给出一些示例代码以帮助你更好的理解这个包。
安装
首先,我们需要在本地安装 fastest-validator
包。可以通过 npm 来进行安装:
npm install fastest-validator --save
快速开始
在这里,我们将开始介绍该验证器的一些主要特性。
添加规则
fastest-validator
的规则可以添加一个或多个,您可以通过以下代码来添加规则:
const Validator = require('fastest-validator'); const validator = new Validator(); const schema = { name: {type: "string", min: 3, max: 255}, age: {type: "number", positive: true, integer: true}, };
在上面的代码中,我们声明了一个 Validator
对象并给出了验证方案 schema
。这里我们定义了两个规则,一个是 name
以及其 min
和 max
的限制,另一个是 age
的 type
、positive
和 integer
的限制。
验证数据
接下来,我们需要调用验证器来验证我们的数据。我们可以使用 validate
方法来进行验证:
const errors = validator.validate({name: "Tom", age: 18}, schema); console.log(errors);
在这里,我们传入了一个对象 {name: "Tom", age: 18}
来进行验证。如果返回结果为空,那么说明数据验证通过;否则,就会返回一个错误信息数组。
更高级的用法
在上面的例子中,我们只是使用了基本用法进行验证。但是,fastest-validator
提供了更高级的用法,可以更好的进行数据的验证。
-- -------------------- ---- ------- ----- --------- - ----------------------------- ----- --------- - --- ------------ ----- ------ - - --------- ------ --------- -------- ---------------------- --------- ------ --------- ---- --- --------- ------ --------- ---- ---- ---------- -- --- ---- ---- -------- ------- ------ -------- ----------- -------- - ----- --------- ------ - ----- ------ --------- --------- ------ ------ ------ --------- -------- ------ --------- --------- ----- -------- -------------------------------- -- -- -- ----- ---- - - --------- ---------- --------- ------------- --------- ------------- ------- ------- -------- - ----- ----- ----- ------ ---------------------- -- -- ----- ----- - -------------------------- ----- ------ - ------------ -- ------- --- ----- - ----------------------- ----- - ---- - ---------------------- -
在上面的代码中,我们通过 compile
方法将验证方案再次解析,从而得到一个更深的验证规则。同样的,也可以通过上下文对象和自定义的验证函数来处理各种复杂的案例。
总结
在这篇文章中,我们介绍了 npm 包 fastest-validator
的使用教程,包括它的安装方法、快速开始,以及更高级的用法。通过这些方法,你将能够更好的使用 fastest-validator
这个npm包去验证你的数据。
快乐的使用工具吧!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedaaa3b5cbfe1ea061053f