npm 包 @ontohub/react-form-validation 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

前言

在开发前端应用时,表单验证是一个常见且必备的功能。使用 npm 包可以方便我们在项目中引入表单验证,并减少重复造轮子的工作。本文将介绍 npm 包 @ontohub/react-form-validation 的使用方法,并且提供详细的示例代码。

安装

使用 npm 安装 @ontohub/react-form-validation:

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

使用方法

基本用法

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

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

在上例中,我们使用了 @ontohub/react-form-validation 提供的 useForm 和 useField hook。useForm 返回一个包含表单状态和处理表单提交的 handleSubmit 的对象。useState 用于声明表单初始值,onSubmit 属性则指定表单提交后的处理逻辑。

useField 接受三个参数:表单字段名、表单状态和配置项。其中,配置项可选,用于指定表单字段的校验规则。

常用校验规则

@ontohub/react-form-validation 内置了一些常用的校验规则,我们可以在 useField 的配置项中使用这些规则:

  • required: 必填项
  • email: 邮箱格式
  • minLength:N: 最小长度 (N 是最小长度)
  • confirmation:fieldName: 确认项,fieldName 是确认的字段名

我们也可以自定义校验规则。下面是一个自定义校验规则的示例:

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

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

在上例中,我们定义了一个名为 verifyUsername 的校验方法,并将其传递给 useField 方法。如果校验失败,verifyUsername 应该返回一个字符串。在调用 useField 时,传递 validations 属性,其中包含 verifyUsername 方法。

校验异步数据

异步数据校验是一种常见需求,@ontohub/react-form-validation 支持使用 async 标记的自定义方法进行异步数据校验。在这个示例中,我们需要进行一个异步校验,以验证电子邮件是否已经被注册:

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

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

在上例中,我们定义了一个 async 标记的方法 isEmailUnique,该方法需要返回 undefined 或者错误信息作为结果。在调用 useField 方法时,我们将 isEmailUnique 方法传递给 validations 属性,@ontohub/react-form-validation 就会自动生成一个正在验证的状态,并在异步操作结束后更新表单字段的验证状态。

验证组件

如果需要对表单中的多个字段进行校验,或者需要对表单中的多个组件进行联合校验,我们可以使用 @ontohub/react-form-validation 提供的 ValidatedForm 组件。

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

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

在上例中,我们使用了 ValidatedForm 组件进行表单验证。组件接受一个 form 属性,该属性应该包含表单状态和 handleSubmit 方法。在使用 ValidatedForm 组件时,被包含的表单字段应该使用 useField 并将 form 传递给它。

总结

@ontohub/react-form-validation 提供了方便的表单验证功能,可以大大减少开发工作量,并在一定程度上保证了开发应用的质量。本文介绍了 @ontohub/react-form-validation 的基本用法和常用功能,希望对读者有所帮助。

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


猜你喜欢

  • npm 包 react-native-authenticate 使用教程

    前言 在开发移动端应用时,用户的账号和密码是非常重要的隐私信息。为了保密性和安全性,一些应用会选择使用指纹或面容识别进行身份验证。而在 react-native 开发中,可以使用 react-nati...

    2 年前
  • npm 包 ultimate-dual-column-chart 使用教程

    前言 NPM是一个开放的包管理器,被广泛用于JavaScript生态系统中,npm包管理器可以轻松地为Node.js开发者提供一些很好的组件和工具,让他们能够更好地完成自己的工作。

    2 年前
  • npm 包 @nodeject/event-sourcing 使用教程

    在当今的前端开发中,事件溯源(Event Sourcing)成为了一种热门的架构设计方式,用于处理数据变化事件。@nodeject/event-sourcing,是一个基于 Node.js 的 npm...

    2 年前
  • npm 包 @stejnar/progress 使用教程

    1. 什么是 @stejnar/progress? @stejnar/progress 是一个基于 React 的进度条组件,可以帮助开发者快速实现复杂的进度条效果。

    2 年前
  • npm 包 jquery-remote-clock 使用教程

    前言 在当今互联网时代,完美的时间管理变得至关重要。而作为前端开发人员,我们常常需要使用到倒计时等时间相关的功能来提高用户体验。在这里就要介绍一个实用的 npm 包:jquery-remote-clo...

    2 年前
  • npm 包 runup 使用教程

    前言 如今,前端开发者越来越依赖于各种包管理器和构建工具,它们使得我们的开发和部署更加高效和快捷。而在这些工具中,npm 无疑是最重要和流行的一个,它不仅可以方便地管理代码库和依赖,还可以创建、发布和...

    2 年前
  • npm 包 @4geit/ngx-app-component 使用教程

    简介 @4geit/ngx-app-component 是一个基于 Angular 的 UI 组件库,提供了各种常用的 UI 组件,包括按钮、表单、卡片等。它可以让开发者在开发 Web 应用时快速搭建...

    2 年前
  • npm 包 @4geit/ngx-cart-component 使用教程

    介绍 @4geit/ngx-cart-component 是一款用于构建购物车组件的 npm 包。此组件可用于各种电商网站,以方便用户查看、添加和删除购物车中的商品。

    2 年前
  • npm 包 @4geit/ngx-cart-button-component 使用教程

    前言 在 Web 应用开发中,购物车功能是一个常见的需求,而基于 Angular 的开发则更加流行。为了便捷地开发购物车功能,开发人员可以考虑使用 npm 包 @4geit/ngx-cart-butt...

    2 年前
  • npm 包 @4geit/ngx-cart-items-service 使用教程

    在前端开发中,购物车是电商网站中必不可少的一环,如果使用 Angular 开发电商网站,可以使用 @4geit/ngx-cart-items-service 这个 npm 包来管理购物车。

    2 年前
  • npm 包 @4geit/ngx-checkout-component 使用教程

    前言 在现代的前端开发中,我们经常会使用各种第三方依赖库,这些依赖库能够帮助我们提高开发效率,同时也能够丰富我们的功能开发。在本文中,我们将介绍一个非常实用的 npm 包:@4geit/ngx-che...

    2 年前
  • npm包 @4geit/ngx-dashboard-module 使用教程

    本文介绍如何使用 npm 包 @4geit/ngx-dashboard-module 开发仪表盘组件。仪表盘是企业级应用中常见的数据展示方式,可以向用户提供实时数据和分析结果,协助用户做出决策。

    2 年前
  • npm 包 @4geit/ngx-footer-component 使用教程

    在前端开发中我们通常使用许多工具和库来加速我们的开发进程,其中 npm 包 @4geit/ngx-footer-component 就是一个可供使用的组件库,它为我们提供了现成的底部组件,简化了底部的...

    2 年前
  • npm 包 @4geit/ngx-marketplace-category-component 使用教程

    前言 在前端开发中,使用现成的 npm 包能够快速地帮助我们解决一些常见的问题,提升开发效率。@4geit/ngx-marketplace-category-component 就是一个专门用于前端市...

    2 年前
  • npm 包 @4geit/ngx-login-component 使用教程

    前言 Angular 是一个流行的前端框架,开发人员可以使用它来构建基于Web的应用程序。当我们需要实现用户登录时,通常要处理复杂的业务流程和数据验证等问题,这是一个非常繁琐和耗时的过程。

    2 年前
  • 使用 angular-owl-carousel 的教程

    介绍 angular-owl-carousel 是一款支持响应式设计、支持无限滚动、具有灵活配置项的 Angular 轮播图组件。本教程将介绍如何使用 angular-owl-carousel ,以及...

    2 年前
  • npm 包 @4geit/ngx-marketplace-home-component 使用教程

    简介 @4geit/ngx-marketplace-home-component 是一款 Angular 前端组件库,可以用于构建前端应用程序的核心用户界面。 该组件库提供了许多现代 UI 组件,如图...

    2 年前
  • npm 包 express-middleware-obfuscator 使用教程

    介绍 在前端开发中,有时候我们希望将代码进行混淆以保护代码的安全性,而 express-middleware-obfuscator 就是一款能够帮助我们实现这一目的的 npm 包。

    2 年前
  • npm包 joda-i18n使用教程

    joda-i18n是一个与时区和国际化相关的JavaScript日期库。它是一个轻量级的npm包,可以帮助我们轻松处理日期、时间、时区和本地化等方面的问题。 本文将介绍使用joda-i18n的方法,分...

    2 年前
  • npm 包 pretty-intervals 使用教程

    前言 在前端开发中,我们经常需要处理时间和日期的问题。其中,时间和日期的格式化与计算也是经常要用到的工具。npm 包 pretty-intervals 就是一款用来格式化时间间隔的工具。

    2 年前

相关推荐

    暂无文章