npm 包 @alifd/validate 使用教程

阅读时长 4 分钟读完

简介

@alifd/validate 是阿里前端团队出品的一个前端表单验证工具包,支持多种验证规则和自定义验证器。使用该工具包可以快速实现前端表单验证。

安装

@alifd/validate 可以通过 npm 安装:

安装后,在项目中引入:

基本用法

@alifd/validate 的基本用法如下所示:

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

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

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

首先定义一个验证方案 mySchema,其中包含了若干个字段的验证规则。然后通过 mySchema.validate() 对表单数据进行验证,返回验证结果。若表单数据通过验证,则返回空对象。

验证规则

@alifd/validate 支持常见的验证规则,如字符串长度、数字范围、正则表达式匹配等。具体支持的验证规则如下:

  • required: 必选字段
  • enum: 枚举值
  • const: 固定值
  • format: 字符串格式(email、date、url、ipv4、ipv6)
  • length: 字符串长度(min、max、range)
  • pattern: 正则表达式
  • range: 数字范围(min、max、range)
  • type: 数据类型(string、number、boolean、object、array、null、undefined)
  • validator: 自定义验证器

自定义验证器

除了新增支持的验证规则外,@alifd/validate 还支持自定义验证器,通过 validator() 方法实现。自定义验证器是一个函数,接收表单数据和当前字段值作为参数,返回验证失败时的错误信息。示例如下:

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

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

上述示例中,自定义了一个验证器 customValidator,当 name 字段的值不为 'hello' 时,验证失败。

深度验证

当表单数据有多层结构时,@alifd/validate 支持深度验证,通过 schema.object() 实现。示例如下:

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

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

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

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

上述示例中,定义了一个 address 对象包含 city 和 street 字段。验证数据时,可以通过 schema.object() 实现深度验证,返回验证错误信息。

结论

本文介绍了在前端开发过程中常用的表单验证工具包 @alifd/validate,其性能稳定,提供了多种验证规则和自定义验证器实现,方便开发者快速实现前端表单验证。希望本文能对读者在前端开发中提供参考和帮助。

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

纠错
反馈