在前端开发中,数据的验证是一项非常重要的任务。最好的数据验证工具通过在输入和输出之间插入适当的逻辑和数据校验逻辑,确保您的应用程序始终在正确的轨道上运行。
在这篇文章中,我们将介绍一个 npm 包 named easiest-js-validator,它是一个可以在 JavaScript 程序中使用的简单但强大的数据验证器。
安装
要安装 easiest-js-validator,你可以使用 npm 命令行工具:
npm install easiest-js-validator
使用
在你的 JavaScript 中引入 easiest-js-validator 并创建一个 validator 对象:
const Validator = require('easiest-js-validator'); const validator = new Validator();
验证数据的方法在 validator 对象上定义,具有一些配置选项,以及一些称为验证规则的验证器。以下是一个例子:
-- -------------------- ---- ------- ----- ---- - - ----- -------- ------ -------------------- --------- ----------- ---------------------- ----------- -- ----- ----- - - ----- ------------------- ------ ------------------------- --------- ----------------- -- ----- ---------- - ------------------------ ------- -- --------------------- - -- ---------- ------ - ---- - -- ---------- ------ ----- ------ - ------------------------ -------------------- -
在上面的代码中,我们创建了一个包含一些数据的对象。我们还定义了这些数据的验证规则。然后我们通过调用验证器的 validate 方法并传入数据和规则来执行验证。如果验证通过,则调用 passes() 方法将返回 true,否则将返回 false。如果验证不通过,则调用 errors.all() 方法将返回包含所有错误的数组。
支持的验证规则
easiest-js-validator 支持以下验证规则:
规则 | 描述 |
---|---|
required | 检查值是否为 null、空字符串或 undefined |
确认值是否具有电子邮件格式 | |
numeric | 确认值是否为数字 |
digits | 限制数字值的长度为指定数 |
max | 确定字符串和数字的最大长度和值 |
min | 确定字符串和数字的最小长度和值 |
between | 限制数字值的大小在指定之间 |
boolean | 确认值是否为布尔值 |
string | 确认值是否为字符串 |
url | 确认值是否为 URL |
array | 确认值是否为数组 |
object | 确认值是否为对象 |
size | 检查值是否具有指定的大小 (长度、面积等) |
in | 确认时候在给定的列表中 |
ip | 确认值是否为 IP 地址 |
alpha | 确认值是否只包含字母 |
alpha_num | 确认值是否只包含数字和字母 |
str_starts_with | 确认字符串是否以特定的子字符串开头 |
str_ends_with | 确认字符串是否以特定的子字符串结尾 |
before | 确认值是否在指定日期之前 |
after | 确认值是否在指定日期之后 |
自定义验证规则
easiest-js-validator 同样支持自定义验证规则:
validator.addRule('foo', (val, _, fail) => { if (val !== 'foo') { fail('The field must be the value foo.'); } });
上面的代码中,我们添加一个 name 为 "foo" 的自定义规则。此规则检查字段的值是否等于 "foo"。
额外的功能
easiest-js-validator 提供了一些额外的功能:
转化规则
有时,您希望将值从一个格式转换为另一个格式,例如将字符串转换为数字。这可以通过添加转换规则来实现:
-- -------------------- ---- ------- ----- ---- - - ------ ----- -- ----- ----- - - ------ ---------- -- ----- ---------- - ------------------------ ------ - ---------------- ---------- --- ----------------------------------------- -- --
上面的代码中,我们通过传入转换规则将字符串 '42' 转换为数字 42。
多语言错误信息
easiest-js-validator 支持通过添加多语言错误信息来自定义错误消息:
-- -------------------- ---- ------- ----- ---- - - ----- --- -- ----- ----- - - ----- ----------- -- ----- ---------- - ------------------------ ------ --- - ---------------- ---------- -- ----------- --- --------------------------------------------- -- --------- -- ---------
上面的代码中,我们为 'required.name' 添加了一个自定义的错误消息。
自定义错误和警告级别
您可以自定义错误和警告级别,这可以帮助您在应用程序中处理失败的验证:
-- -------------------- ---- ------- ----- ---------- - ------------------- ----- ------ --- --- - ------ ------------ -------- ---------- -------- --------- - --
上面的代码中,我们为成功的验证添加了警告级别,为失败的验证添加了错误级别,为待定的验证添加了信息级别。
总结
easiest-js-validator 是一个灵活但简单的数据验证器,它可以在任何 JavaScript 程序中使用,并且易于扩展。通过使用它,您可以获得对多种验证规则、转换规则和自定义规则的无限制访问。即使是复杂的数据验证也可以在几行代码中完成。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066dad7108f76aa73ecaa5