npm 包 validated-form 使用教程

阅读时长 10 分钟读完

在前端开发的过程中,表单验证是一个非常重要的功能。在很多场景中,我们需要对用户输入的数据进行合法性检查。npm 上有许多优秀的表单验证工具,其中,validated-form 是一款非常受欢迎的工具。

validated-form 是一个基于 React 的表单验证组件库,它提供了一系列的表单验证规则及自定义验证方法,能够满足我们大多数表单验证需求。

本文将介绍 validated-form 的使用方法,包括安装、基本使用及高级用法。

安装

使用 validated-form 前,需要先安装 React。在安装 React 后,可以使用 npm 安装 validated-form。

基本使用

使用 validated-form 的基本流程如下:

  1. 定义表单项;
  2. 定义验证规则;
  3. 渲染 validated-form 组件,并指定表单项和验证规则;
  4. 监听 validated-form 组件的 onSubmit 事件,并处理表单提交。

以下是一个简单的示例代码,演示了如何使用 validated-form 进行表单验证。

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

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

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

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

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

上述示例代码中,RegisterForm 组件定义了一个包含 3 个表单项的表单。在注册按钮被点击时,会触发 handleSubmit 函数,如果表单验证通过,则会输出表单数据。

在 handleSubmit 函数中,调用了 validated-form 组件的 validate() 方法进行表单验证,如果验证通过,则返回 true。如果验证不通过,则 validated-form 组件会自动显示相应的错误信息。

验证规则

validated-form 提供了许多常用的验证规则,如 required(必填)、email(Email 格式)、url(URL 格式)、minLength(最小长度)、maxLength(最大长度)、alphaNum(字母或数字)等。在定义表单项时,可以指定相应的验证规则。

由于 validated-form 的验证规则是基于 validatorjs 库实现的,因此,validated-form 支持所有 validatorjs 支持的验证规则。例如,如果需要用正则表达式对表单项进行验证,可以使用“regex”规则。

以下是 validated-form 支持的常用验证规则:

规则 说明
required 必填
email Email 格式
url URL 格式
alpha 字母
alphaNum 字母或数字
numeric 数字
integer 整数
float 浮点数
minLength:n 最小长度为 n
maxLength:n 最大长度为 n
same 与指定字段相同
different 与指定字段不相同
in 在指定列表中
notIn 不在指定列表中
regex 满足指定正则表达式
date 日期格式(YYYY-MM-DD)
dateBefore 在指定日期之前
dateAfter 在指定日期之后

在定义验证规则时,可以指定错误信息。例如:

如果验证不通过,则 validated-form 会使用 errorMessage 中的文本作为错误提示信息。

自定义验证规则

validated-form 还允许我们自定义验证规则。在定义验证规则时,可以指定一个回调函数作为验证规则。例如:

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

在上述示例代码中,自定义了一个验证规则,判断用户名中是否包含 "admin"。如果包含,则验证不通过,否则验证通过。

表单项的引用

在 validated-form 中,我们需要使用表单项的名字来指定对应的表单验证规则。表单项的名字可以是任意字符串,但不建议使用具有特殊含义的字符串,如“submit”、“reset”等。

validated-form 使用 refs 引用子组件,可以使用 ref 获取 validated-form 组件的引用。在 validated-form 中,每个表单项都有一个 uniqueKey 属性,该属性用于在 validated-form 组件中引用对应的表单项。

在 handleChange 回调函数中,我们需要根据表单项名字更新表单数据。在 validated-form 中,可以使用 uniqueKey 属性来标识表单项,并在 handleChange 回调函数中更新表单数据。

示例代码:

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

高级用法

validated-form 还提供了许多高级功能,例如自定义验证规则、动态添加/删除表单项、异步验证、验证消息本地化等。详情可以参考 validated-form 的官方文档

总结

validated-form 是一款优秀的表单验证组件库,它提供了丰富的表单验证规则及自定义验证方法,并支持动态添加/删除表单项、异步验证等高级功能,可大大简化表单验证的开发工作。

希望这篇文章能够帮助读者了解 validated-form 的使用方法,使得在开发表单验证时更加方便快捷。

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

纠错
反馈