npm 包 @activelylearn/react-material-ui-form-validator 使用教程

简介

@activelylearn/react-material-ui-form-validator 是一个基于 React 和 Material UI 的表单验证组件,可以用于实时验证用户输入的表单数据,以确保其符合预期。它提供了多种内置的验证规则,并支持自定义验证规则,可以帮助前端开发者快速构建出安全可靠的表单。

安装

在开始使用该组件之前,需要先安装相关的依赖包。在终端中执行以下命令即可:

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

使用

导入

导入该组件的方式如下:

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

组件

ValidatorForm

ValidatorForm 是一个高阶组件,用于包裹需要进行验证的表单。它提供了多个属性用于指定表单校验及相关的配置。

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

ValidatorForm 支持的属性如下:

属性名 类型 默认值 必须 说明
onSubmit function 表单验证通过后的回调函数
onError function 表单验证失败后的回调函数
instantValidate boolean true 是否即时验证表单字段
debounceTime number 300 同步验证的时间间隔,即用户输入完毕后等待多长时间再开始验证,默认为 300

TextValidator

TextValidator 是一个基于 Material UI TextField 的验证组件,用于对用户输入的文本内容进行验证。它提供了多种内置的验证规则,可以满足大部分表单验证的需求,并支持用户自定义验证规则。

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

TextValidator 支持的属性如下:

属性名 类型 默认值 必须 说明
label string 表单字段的标签名
name string 表单字段的名称
value string 表单字段的输入值
validators string / array 表单字段的验证规则,可以是字符串或字符串数组,具体规则参见下文
errorMessages string / array 验证失败时的错误消息,可以是字符串或字符串数组,与 validators 一一对应,具体参见下文
className string 自定义样式类名
onChange function(event) 输入框的 change 事件处理函数,用于更新表单值
onBlur function(event) 输入框的 blur 事件处理函数,用于进行离焦验证
error boolean false 是否显示错误状态,此处提供了受控和非受控两种方式控制,可以根据实际情况选择合适的方式进行控制

内置验证规则

TextValidator 支持的内置验证规则如下:

规则名 说明 用法
required 必填项 validators={['required']}
isEmail 邮箱地址 validators={['isEmail']}
isUrl 网址地址 validators={['isUrl']}
isNumber 数字 validators={['isNumber']}
isPositive 正数 validators={['isPositive']}
isNegative 负数 validators={['isNegative']}
isInt 整数 validators={['isInt']}
max 最大值 validators={['max:10']}
min 最小值 validators={['min:0']}
maxLength 最大长度 validators={['maxLength:10']}
minLength 最小长度 validators={['minLength:5']}
matchRegexp 正则匹配,可以自定义正则表达式进行验证 validators={['matchRegexp:^\d{6}$']}
isPasswordStrong 密码强度验证(必须包含大小写字母和数字) validators={['isPasswordStrong']}

验证规则配置

TextValidator 的 validators 和 errorMessages 属性支持的值都是字符串或字符串数组。字符串表示单个验证规则或错误消息,字符串数组表示多个验证规则或错误消息。

字符串类型的验证规则由验证规则名和可选的参数组成,以冒号分隔。例如:'min:10' 表示最小值为 10。

示例代码

以下是一个简单的登录表单示例代码,包含用户名和密码两个字段,并使用了多个内置的验证规则和错误消息。

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

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

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

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

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

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

结论

@activelylearn/react-material-ui-form-validator 提供了一种简单易用的表单验证解决方案,可以快速帮助前端开发者构建出安全可靠的表单。它支持多种内置的验证规则,并可以根据实际需求进行自定义扩展。希望这篇文章能够帮助大家更好地了解和使用该组件。

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


猜你喜欢

  • npm 包 Botsfactory 使用教程

    在前端开发中,我们经常需要写一些机器人脚本来自动化一些繁琐的工作。为了方便开发,我们可以使用 npm 包 Botsfactory。本文将详细介绍 Botsfactory 如何使用以及其深度和学习指导。

    3 年前
  • npm 包 set-page 使用教程

    在开发 Web 应用程序时,我们都希望页面能够更加灵活地展示和交互,更加符合我们的创意和需求。而 set-page 正是一个可以帮助我们快速搭建灵活的 Web 页面的 npm 包。

    3 年前
  • npm 包 kreation 使用教程

    在前端开发中,使用 npm 包是非常常见的操作,可以为我们节省很多时间和精力,让我们能够更快速的开发应用程序。而 kreation 就是一款非常优秀的 npm 包,可以帮助我们更快速的生成项目基础代码...

    3 年前
  • npm 包 @chan4lk/acronym 使用教程

    前言 随着国内前端技术迅速发展,npm 成为了前端工程师必不可少的包管理工具。其中,@chan4lk/acronym 是一个用于生成首字母缩写的 npm 包。本文将对该包进行详细介绍和使用教程,帮助读...

    3 年前
  • npm包react-redux-epic-16使用教程

    React-Redux-Epic-16是一个运行在Redux中的异步副作用管理程序,它使用react-router和react-router-redux来处理导航和路由。

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

    前言 在现代 Web 开发中,前端技术已经变得日益复杂和多变。为了提高代码的可维护性和易读性,Web 开发者需要使用一些工具来管理代码的结构和逻辑。reclass-doc 就是一款用来生成 JavaS...

    3 年前
  • npm 包 regex-fun 使用教程

    前言 在前端开发中,我们常常需要匹配字符串中的某些模式。JavaScript 提供了内置的正则表达式(Regular Expression)对象,可以对字符串进行模式匹配。

    3 年前
  • npm 包 snabbdom-material-components 使用教程

    前言 在前端开发中,UI 组件库是非常重要的一部分。好的组件库可以让开发者节省大量时间,提高开发效率和代码质量。snabbdom-material-components 是一个基于 snabbdom ...

    3 年前
  • npm 包 @mathieumg/draft-js 使用教程

    前言 在前端开发中,处理富文本是一个必要的功能。而 Draft.js 则是一个流行的富文本编辑器。针对 Draft.js,@mathieumg/draft-js 也是一个很好的补充,它为 Draft....

    3 年前
  • npm 包 fixed-ceil 使用教程

    在前端开发中,我们常常会涉及到数值计算、数据处理等问题。而在处理浮点数时,由于计算机内存的限制,精度很容易出现问题。而 fixed-ceil 是一个功能强大的 npm 包,可以帮助我们轻松解决这些问题...

    3 年前
  • npm 包 @pru-rt/spel2js 使用教程

    前言 在前端开发中,我们常常需要处理各种数据。有时候,我们需要根据一定的规则来对数据进行处理和筛选。这时候,就需要使用一种类似于 SQL 的查询语言来进行筛选,这就是我们今天要介绍的 @pru-rt/...

    3 年前
  • npm 包 raspi-onewire 使用教程

    在树莓派上使用单总线(OneWire)总线访问温度计或其他基本设备已经成为前端工程师的主流操作之一。 raspi-onewire 是一个非常便捷的 npm 包,可以帮助我们更好地控制 OneWire ...

    3 年前
  • npm 包 tablefy 使用教程

    简介 tablefy 是一个基于 Node.js 的 npm 包,它能够将任意数组转换为美观易读的表格形式,并且支持多种输出格式。 在前端开发中,我们经常需要将多个数据组合成表格形式,以进行数据展示或...

    3 年前
  • npm 包 @neoprospecta/angular-datetimepicker 使用教程

    在前端开发中,日期时间选择器是一个常见的功能组件。 @neoprospecta/angular-datetimepicker 是一个强大的日期时间选择器 npm 包,它提供了丰富的特性和定制化选项,可...

    3 年前
  • npm 包 elm-view-engine 使用教程

    简介 Elm View Engine 是一种前端视图模板引擎。它可以帮助开发人员更轻松地创建和维护复杂的用户界面。 Elm View Engine 包含了一组漂亮的 UI 组件和一些强大的功能,如数据...

    3 年前
  • npm 包 eslint-config-bunny 使用教程

    在前端开发中,代码规范是非常重要的。为了在开发过程中保持一致的代码风格和避免同伴代码不易于阅读,我们可以使用 eslint 这个工具来帮助我们约束代码规范。而在 eslint 的配置中,eslint-...

    3 年前
  • npm 包 filebrowse-directive 使用教程

    前言 在前端开发中,文件上传是一个比较常见的需求。然而,如何实现一个简单易用的文件上传功能呢?本文将介绍一个 npm 包 filebrowse-directive,它是一个基于 AngularJS 的...

    3 年前
  • npm 包 image-utils 使用教程

    随着 Web 应用的流行,图片作为一个不可或缺的元素越来越重要。然而,图片处理是前端开发中非常耗费时间和精力的一个环节。为了便捷图片处理,许多 npm 包涌现了出来。

    3 年前
  • NPM 包 mic-ddp 使用教程

    在前端开发中,使用第三方库能够提高开发效率和降低开发难度。NPM 包 mic-ddp 是一款用于 Meteor.js 项目的客户端开发包,提供了对 Meteor DDP 协议的支持。

    3 年前
  • npm 包 wait-as-promised 使用教程

    什么是 wait-as-promised wait-as-promised 是一个能够延迟 Promise 执行时间的 npm 包。在前端开发中,经常需要等待某些条件满足后再执行下一步操作,而 wai...

    3 年前

相关推荐

    暂无文章