npm 包 formsy-material-ui-customized 使用教程

在前端开发中,我们经常需要使用表单来搜集用户的信息,然而表单验证和处理一般是比较麻烦的事情。为了简化表单操作,社区中出现了一种非常流行的解决方案,那就是 Formsy。

Formsy 是一个 React 的表单验证和处理工具,它不仅提供了基本的表单验证功能,还支持异步验证,自定义验证规则,以及表单状态管理等一系列功能。但是在实际工作中,直接使用 Formsy 还是有些繁琐。这时候,我们就可以使用 formsy-material-ui-customized 这个 npm 包,它是一个针对 Material-UI 组件库进行了深度定制的 Formsy 扩展库。

安装

首先在项目目录下使用 npm 进行安装:

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

使用步骤

使用 formsy-material-ui-customized,我们需要先导入它们的组件:

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

然后我们就可以在表单中使用这些组件了,比如:

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

这里我们使用了 FormsyText 组件, 它是一个文本框,我们需要传入 name,label,required 等属性来自定义它的行为。如果用户没有填满这个文本框,那么 .isRequired 那儿的的文本信息会被显示。除此之外,Formsy 还支持很多其他类型的表单组件,如 FormsyCheckbox、FormsyRadioGroup、FormsyToggle 等,它们都支持相应类型的验证。

表单提交事件

表单提交事件通常是我们最重要的事件之一。在使用 Formsy 时,我们可以在 Formsy 中通过 onValidSubmit 或 onInvalidSubmit 这两个回调函数来处理表单的提交。它们分别在表单验证成功和验证失败时触发。

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

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

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

在这里,我们实现了一个简单的表单组件,并且指定了表单提交成功和失败的两个回调函数。 onValidSubmit 函数将 formData 作为它的参数,这个参数是一个对象,包含表单中的所有输入字段。onInvalidSubmit 函数将会抛出错误数组,包含了验证失败的字段和错误信息。这些错误信息可以用来定制我们的提示信息,帮助用户更容易地找到他们错误想要更改的字段。

更多特性

除了上述的特性外, formsy-material-ui-customized 还提供了很多其他便捷而有用的特性:

动态验证

对于某些表单元素来说,并不能根据固定的规则来验证,这时候 Formsy 的异步验证就可以派上用场了。异步验证可以对任意的表单元素进行验证,并且可以定制它的验证规则。比如,我们可以使用异步验证来验证用户名是否已经注册过:

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

在这里,我们使用 asyncValidations 选项传入了一个回调函数,它使用 api.checkUsername 去检查这个用户名是否已经注册过,在这个答复中,我们通过 callback() 来表示该用户名可以使用,如果检查失败,我们则使用 callback('This username is already taken') 来通知用户该用户名已经被占用了。

定制错误消息

如果你想要修改出现的错误消息,你只需要传入 validationErrors 的一个对象即可:

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

其他 Formsy 扩展

formsy-material-ui-customized 还扩展了一些其他的 Formsy 组件, 如 FormsYTimePicker、FormsyDatePicker、FormsyRadio 等等,而这些组件可以成为你开发表单时的首选,可以节约你的时间和精力。

总结

Formsy 在现代前端开发中广泛使用,而 formsy-material-ui-customized 则更加便捷地利用了 Material-UI 组件库,使我们能够快速构建和验证表单。它提供了许多有用的特性和易于使用的 API,并且支持异步验证和自定义错误提示。在后续的开发中,我们可以继续尝试使用其它表单验证组件,以便更好的提高我们的开发效率。

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


猜你喜欢

  • npm 包 less-compile-file 使用教程

    简介 在前端开发中,我们通常使用 Less 或 Sass 等 CSS 预处理器来简化样式表的编写,但是浏览器并不支持预编译的 Less 或 Sass 代码,所以我们需要在开发过程中将 Less 或 S...

    3 年前
  • npm 包 nbash-cli 使用教程

    1. npm 包 nbash-cli 简介 nbash-cli 是一个基于 Node.js 开发的 npm 包,它能够在终端运行 NBA 的实时比分、比赛预告、球队信息等数据信息。

    3 年前
  • npm 包 skipper-openstack-gremi 使用教程

    简介 skipper-openstack-gremi 是一个基于 Express 和 Skipper 的 Node.js 包,用于将文件上传到 OpenStack Swift 对象存储,支持认证和加密...

    3 年前
  • npm 包 react-changehandler 使用教程

    什么是 react-changehandler? react-changehandler 是一个方便的 npm 包,旨在为 React 开发人员提供一个简单但强大的方法来处理表单元素的值变化。

    3 年前
  • npm 包 sails-doc 使用教程

    在现代的前端技术中,模块化已经成了一种非常重要的编程方式。随着不断有新的技术出现,我们的前端开发需要管理和使用越来越多的组件,第三方库和框架。而 npm 就是一个非常重要的 JavaScript 的包...

    3 年前
  • npm 包 bkn-specs-editor 使用教程

    介绍 在前端开发过程中,我们经常需要编写规范文档,进行团队协作、代码维护等方面的工作。npm 上的 bkn-specs-editor 包提供了一种非常方便的方式来编辑规范文档。

    3 年前
  • npm 包 webdura_soap_marketing 使用教程

    简介 webdura_soap_marketing 是一个基于 Node.js 的 npm 包,它提供了一些方便的工具和接口,用于从 WebDura SOAP API 中查询营销报告数据。

    3 年前
  • npm 包 docto 使用教程

    在前端开发过程中,我们难免要编写一些文档,尤其是对于一些重要组件、库的使用文档。而手写文档往往会比较繁琐,这时候我们就可以使用 docto 这个 npm 包来自动生成文档。

    3 年前
  • npm 包 hyperhtml-comp 使用教程

    前言 随着前端技术的发展,越来越多的开发者开始意识到组件化开发的重要性。然而,组件化开发也带来了更多的挑战,其中之一就是如何提高组件的渲染效率和性能。在这方面,hyperHTML 提供了一种高效的解决...

    3 年前
  • npm 包 react-native-ble-quick-sdk 使用教程

    前言 在现代软件开发中,蓝牙通信变得越来越重要。React Native 是一个优秀的移动应用开发框架,提供了丰富的 API 和组件库,可以在多个平台上构建高性能、跨平台的移动应用。

    3 年前
  • npm 包 selector-generalization 使用教程

    当我们在开发前端应用的过程中,经常需要操作 DOM 元素。而选择器是我们用来操作 DOM 元素的工具之一。通常情况下,我们会使用 CSS 选择器来选择 DOM 元素。

    3 年前
  • npm包vnti18n的使用教程

    前言 随着全球化的不断深入,很多网站和应用都需要提供多国语言版本,因此国际化(i18n)成为了前端工程师需要掌握的重要技能之一。而本文要介绍的npm包vnti18n就是一个非常好用的国际化工具,能够帮...

    3 年前
  • npm 包 login-url 使用教程

    在现代 Web 开发中,用户登录是必不可少的一部分。为了方便地实现登录功能,开发者可以使用一些现成的 npm 包。login-url 就是其中之一,它可以帮助我们生成一个登录 URL,使用户能够方便地...

    3 年前
  • npm 包 componentex 使用教程

    简介 在前端开发中,我们经常需要使用各种组件来实现特定的功能和效果。而使用 npm 包管理器,我们可以更方便地引入、使用和管理这些组件。而 componentex 就是一个非常实用的 npm 包,它提...

    3 年前
  • npm 包 otu 使用教程

    otu 是一个使用 JavaScript 编写的 npm 包,能够让开发者以更加方便、快捷的方式执行一些常见的操作,如异步执行串行任务、执行文件 Path、对象深拷贝等。

    3 年前
  • npm 包 pubmate 使用教程

    简介 npm 是目前最流行的 Node.js 包管理器之一,拥有海量的开源包资源。在 web 开发中,我们常常需要使用各种 npm 包来快速构建项目。 pubmate 是一个针对 npm 包实现自动发...

    3 年前
  • npm 包 yohakuto 使用教程

    1. 引言 yohakuto 是一款非常优秀的前端工具包,它包含了许多实用的组件和工具,可以方便地帮助开发者快速搭建 Web 应用程序。 在本篇文章中,我们将详细介绍 yohakuto 的使用方法,并...

    3 年前
  • npm 包 `fantasy-premier-league` 使用教程

    前言 Fantasy Premier League 是一个非常受欢迎的英超虚拟联赛游戏,通过选择球员来构建一支团队并与其他球队竞争。通过 fantasy-premier-league npm 包,你可...

    3 年前
  • npm 包 rn-mediawesome 使用教程

    在现代 web 开发和移动应用程序开发中,前端技术变得越来越重要和强劲。作为一名前端开发者,你可能需要大量使用工具和框架来提高你的工作效率和开发速度。在 React Native 开发领域, rn-m...

    3 年前
  • npm 包 gitbook-plugin-enhanced-katex 使用教程

    npm 包 gitbook-plugin-enhanced-katex 使用教程 前言 在使用 Gitbook 进行文档编写的过程中,使用数学公式是经常要用的技巧。

    3 年前

相关推荐

    暂无文章