npm 包 formulary 使用教程

简介

在前端开发中,表单是最常见的交互方式之一。而 formulary 是一个简化表单开发的 npm 包,它提供了丰富的验证器和自定义组件,使得表单的开发变得更加简单和直观。

安装

使用 npm 进行安装:

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

使用

formulary 主要有两类 API:

  1. 创建表单对象:formulary.createForm(...)
  2. 创建验证器:formulary.createValidator(...)

创建表单对象

首先我们需要引入 formulary

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

然后使用 formulary.createForm(...) 方法创建表单对象:

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

formulary.createForm(...) 方法接收一个对象,其中 fields 属性定义了表单字段,validate 属性定义了表单验证回调,submit 属性定义了表单提交回调。

定义表单字段

表单字段通过一个对象进行定义,其中对象的属性名表示字段名,属性值表示字段的属性:

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

上述代码定义了两个表单字段,分别是 usernamepassword。值得注意的是,每个表单字段都需要指定 labeltyperequiredvalidator 属性:

  • label 属性表示字段标签,用于在表单中进行显示
  • type 属性表示字段类型,目前支持的类型有 textpasswordemailnumber
  • required 属性表示字段是否必填
  • validator 属性表示字段的验证器,可以是一个对象或者一个函数

定义验证器

表单验证器通过一个对象进行定义,其中对象的属性名表示验证器名称,属性值表示验证器函数:

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

上述代码定义了两个验证器,分别是 usernameExistspasswordStrength。值得注意的是,每个验证器都是一个函数,它需要接收一个参数 value,表示输入框的值,并返回一个布尔值,表示验证是否通过。

表单验证与提交

当表单的某个事件触发时,需要调用表单的相应方法来进行验证或提交操作。下面是一些常用的表单方法:

  • form.onChange(name, value):当输入框的值发生改变时,需要调用该方法进行设置值
  • form.onSubmit():当用户点击表单提交按钮时,需要调用该方法进行表单提交操作
  • form.validate():当需要手动对表单进行验证时,需要调用该方法进行验证

当表单验证通过并点击提交按钮时,会调用 submit 属性所指定的回调函数,该函数会接收表单中所有字段的值,以一个对象的形式返回。

创建验证器

formulary.createValidator(...) 方法用于创建验证器,可以用于对单个字段的验证,也可以用于多个字段之间的验证。下面是一个例子:

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

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

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

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

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

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

上述代码定义了两个验证器,分别是 passwordconfirmPassword。其中 password 验证器对密码字段进行了强度验证,包括长度、大小写和数字组合等。而 confirmPassword 验证器则对确认密码字段进行了验证,判断确认密码是否与密码相同。

示例

在以下代码示例中,我将创建一个注册表单,包括用户名、密码和确认密码等字段,同时对这些字段进行验证。

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

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

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

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

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

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

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

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

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

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

上述代码中,我定义了表单字段、表单验证器和表单对象,并通过 form.onChange(...) 方法为每个表单字段设置了一个默认值。然后我通过 form.onSubmit() 方法进行表单提交操作,此时如果表单验证通过,则会触发表单提交回调函数,并将表单中所有字段的值输出至控制台中。

总结

formulary 是一个非常优秀的 npm 包,它提供了丰富的验证器和自定义组件,使得表单开发变得更加简单和直观。通过本篇文章的介绍,相信大家已经对其使用有了更深的了解,希望能够对大家在前端开发中有所帮助。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60065b4ac6eb7e50355dbfbe


猜你喜欢

  • npm 包 zhdate 使用教程

    什么是 zhdate? zhdate 是一个基于 JavaScript 的 npm 包,用于处理中国农历与公历之间的转换。它包含了各种功能,如公历转农历、农历转公历、获取农历节气等。

    3 年前
  • npm 包 aff-node-sql-db 使用教程

    1. 概述 aff-node-sql-db 是一款基于 Node.js 的模块化 SQL 数据库操作库,可以在 Node.js 应用中方便地进行数据库的操作和管理。

    3 年前
  • npm 包 mysql-table 使用教程

    简介 mysql-table 是一个 Node.js 下的 MySQL 数据表操作包。它使用了 Promise 封装原生的 MySQL 连接和操作函数,代码简洁易懂,同时支持多个查询,充分满足了前端类...

    3 年前
  • npm 包 yoba-form 使用教程

    随着前端开发的不断发展,npm 包已经成为了前端开发过程中不可或缺的组成部分。其中,yoba-form 是一款功能强大的 npm 包,可以帮助我们更加轻松地完成表单的开发。

    3 年前
  • npm 包 @wildpeaks/three-webpack-plugin 使用教程

    介绍 @wildpeaks/three-webpack-plugin 是一个针对 Three.js 库的 webpack 插件,其主要功能是帮助开发者优化 Three.js 应用的构建和性能。

    3 年前
  • npm 包 mobx-state-tree-boiler-plate 使用教程

    1. 简介 mobx-state-tree 是一个由 MobX 团队开发的用于构建可扩展且易维护的应用程序的工具。这个工具使用了 mobx 来构建 React 组件树,并同时提供了 semantica...

    3 年前
  • npm 包 z_bloex 使用教程

    介绍 npm 包 z_bloex 是一款基于 JavaScript 和 jQuery 的前端工具包,用于开发网页交互效果和 UI 组件。它包含了众多实用的函数、模块和插件,BLoEX以便于前端开发人员...

    3 年前
  • npm包rollup-buble-mocha-boilerplate的使用教程

    介绍 在前端开发中,开发者编写的代码需要被转换成浏览器可以执行的代码。这个过程中,我们需要用到不同的工具和库。为了方便开发者使用这些工具,npm包rollup-buble-mocha-boilerpl...

    3 年前
  • npm 包 CookSent 使用教程

    什么是 CookSent CookSent 是一个针对中文文本的自然语言处理工具。它可以帮助我们将一段中文文本分割成可以进行下一步处理的句子列表。 安装 CookSent 是一个 npm 包,我们可以...

    3 年前
  • npm 包 dg-js-footer 使用教程

    在前端开发的过程中,我们经常会需要使用一些现成的组件或工具来提高开发的效率。npm 是一个非常流行的 JavaScript 包管理工具,它可以帮助我们快速地安装、更新和管理第三方库。

    3 年前
  • npm 包 kidevcamp-js-footer 使用教程

    在现代 web 开发中,使用 npm 包是非常常见的。npm 是一个 node.js 包管理器,用于分发和管理 JavaScript 模块。在本文中,我们将介绍一个 npm 包 kidevcamp-j...

    3 年前
  • NPM 包 @ronin/microfed 使用教程

    在前端开发中,微前端是近年来非常流行的一种开发方式。微前端的实现方法有多种,其中一个比较成熟的方法就是使用 Web Components 技术,而这正是 @ronin/microfed 包所专注于的领...

    3 年前
  • npm 包 bargz-ng-http-loader 使用教程

    当使用 Angular 构建 Web 应用时,处理 HTTP 请求是经常遇到的问题。而 npm 包 bargz-ng-http-loader 可以为 Angular 应用添加一个优美的加载器,使得页面...

    3 年前
  • npm 包 redux-persist-seamless-immutable 使用教程

    Redux 是一个 JavaScript 状态管理库,而 redux-persist 可以帮助我们将 Redux 的状态持久化到本地存储中,以免用户在刷新或重新启动应用时丢失状态。

    3 年前
  • npm 包 react-native-checkbox-component 使用教程

    npm 包 react-native-checkbox-component 使用教程 React Native Checkbox Component 是一种轻量级的开源组件,可用于在 React Na...

    3 年前
  • npm 包 Safe-Window-Location 使用教程

    在开发 Web 前端应用时,我们通常会用到 window.location 对象来获取当前页面的 URL 信息,或者修改页面的 URL。然而在操作 window.location 的时候,我们需要非常...

    3 年前
  • npm 包 vue-cli-template-jbc 使用教程

    在前端开发中,使用 Vue.js 是非常常见的选择,而使用 Vue.js 开发项目则需要用到 Vue CLI。Vue CLI 是一个基于 Vue.js 的应用程序快速开发工具,其中包含了许多模板,可以...

    3 年前
  • npm 包 @rochars/rollup-plugin-closure-compiler 使用教程

    在前端开发中,我们常常需要对 JavaScript 代码进行压缩和优化,以提升网页性能和加载速度。而 Google 的 Closure Compiler 是一款功能强大的 JavaScript 优化工...

    3 年前
  • npm 包 g4.mixin 使用教程

    在前端开发中,组件化和模块化已成为一种趋势。g4.mixin 是一个基于 React 的组件库,它提供了一些通用的 UI 组件和工具函数,可以帮助开发者快速搭建应用程序。

    3 年前
  • npm包poliscore-lib使用教程

    在前端开发的过程中,我们往往需要使用 npm 包。poliscore-lib 是一个常用的 npm 包之一,它是一个用于与 Polis 区块链进行交互的 JavaScript 库。

    3 年前

相关推荐

    暂无文章