npm 包 mobx-form-validator 使用教程

简介

mobx-form-validator 是一个基于 mobx 的表单验证器,它提供了一组通用的规则和自定义的规则,能够处理各种复杂的表单验证需求。

安装

使用 npm 进行安装:

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

或者使用 yarn 进行安装:

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

使用

创建规则

使用 mobx-form-validator 需要先定义一组验证规则,在定义规则时可以使用 mobx 提供的 observableaction 来管理状态和动作。

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

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

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

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

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

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

以上代码定义了一个 UserValidator 类,它包含了两个可观察属性 value 和 errors。value 是表单中的值,errors 是每个表单域的错误信息,isValid 是是否全部通过验证。

validate 方法中,我们首先获取了 value 中的 name 和 email,然后通过 RequiredPattern 来创建规则,并将错误信息赋值给 errors 中对应的属性。

RequiredPattern 是 mobx-form-validator 已经封装好的验证规则,分别用于判断是否为空和是否符合正则表达式。

除了使用内置的规则,我们还可以通过 Custom 来创建自定义的规则。

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

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

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

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

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

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

以上代码定义了一个 PasswordValidator 类,它包含了一个可观察属性 value 和一个错误信息 error。这里我们通过自定义规则来判断密码长度是否符合要求。

使用规则

在表单中使用 mobx-form-validator 规则很简单,只需要将规则定义为一个可观察对象,然后在表单中使用即可。

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

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

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

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

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

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

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

在代码的开始,我们先创建了两个 useForm 对象 user 和 password,它们的参数分别是 UserValidator 和 PasswordValidator 的实例。我们将 useForm 对象封装了一层,方便在表单中使用。

在表单中使用时,我们通过 value 属性来获取或设置表单中的值,通过 errorserror 属性来获取表单中的错误信息,通过 validate 方法来校验表单中的值是否符合规则。

最后,我们在 handleSubmit 方法中判断整个表单是否都通过验证,如果是,则提交表单,否则,调用各自的 validate 方法,并展示错误信息。

总结

mobx-form-validator 是一个很好用的表单验证库,它提供了一组通用的规则和自定义的规则,能够处理各种复杂的表单验证需求。在使用时,我们只需要定义一组验证规则,然后在表单中使用即可。希望这篇文章对你在前端开发中使用 mobx-form-validator 提供了帮助。

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


猜你喜欢

  • npm 包 wis-logger 使用教程

    wis-logger 是一款用于前端日志记录的 npm 包。它可以帮助我们快速、简单、可靠地记录网页端的各种事件、状态等信息,从而方便我们进行网页端调试、错误追踪等工作。

    3 年前
  • npm 包 cordova-svn-revision-build-number 使用教程

    介绍 cordova-svn-revision-build-number 是一个能够在 Cordova 应用程序中添加 SVN 版本控制信息和构建编号的 npm 包,可以帮助开发人员更好地管理和追踪应...

    3 年前
  • npm 包 multiple-requests-promise 使用教程

    在前端开发中,我们经常需要向后端发起多个请求,这时候使用 Promise.all 可以同时发起多个请求,并且能够保证所有请求都完成后再进行下一步操作。不过 Promise.all 也有一个缺点,就是如...

    3 年前
  • npm 包 root-scoped-bootstrap 使用教程

    介绍 在前端开发中,Bootstrap 绝对是最流行的前端框架之一。Bootstrap 提供了丰富的 CSS 样式和 JavaScript 组件,但它从来没有提供一种更加严谨的方式,将 Bootstr...

    3 年前
  • npm 包 und3fined-rfx-core 使用教程

    前言 在前端开发过程中,我们经常需要使用一些工具库来提高代码的效率和可维护性。而 npm 包作为前端开发者必不可少的一个工具,不仅能够为我们提供大量完善的工具库资源,而且还可以快速、方便地引入和管理这...

    3 年前
  • npm 包 w-constants 使用教程

    简介 w-constants 是一个非常实用的 npm 包,用于在前端开发中管理常量。它提供了一种简单的方式来管理应用程序中的常量,使开发更加方便。 安装 通过 npm 安装 w-constants:...

    3 年前
  • npm 包 integer.flow 使用教程

    在开发 JavaScript 应用程序的过程中,经常会遇到需要处理整数的情况。虽然 JavaScript 本身支持处理整数,但是在面对大型数字和精确计算时,则需要借助第三方库。

    3 年前
  • npm 包 appsapp-components-module 使用教程

    在前端开发中,我们经常需要使用各种各样的第三方库来增强我们的应用程序。而 npm 是目前最流行的 Node.js 包管理器,提供了数以百万计的包供我们使用。其中,appsapp-components-...

    3 年前
  • npm 包 @ozylog/ui-dropdown 使用教程

    前言 现在,数据的呈现和展示已经成为了前端开发的重要内容,下拉列表控件正是其中之一。而且,基础的表单、交互及需求实现中,下拉列表也是常常被使用到的。在日常的开发工作中,我们经常需要使用一些下拉列表控件...

    3 年前
  • npm 包 @ozylog/ui-form 使用教程

    简介 @ozylog/ui-form 是一个开源的 JavaScript 库,用于在 Web 应用程序中构建表单。它提供了一组易于使用、灵活并且可扩展的表单控件和功能。

    3 年前
  • npm 包 @rill/svelte 使用教程

    简介 @rill/svelte 是一个基于 Svelte 的前端组件库,拥有丰富的 UI 组件、图表及交互效果,可以帮助前端开发者快速搭建高质量的网页应用程序。 本文将详细介绍如何安装 @rill/s...

    3 年前
  • npm 包 koa-pug-render 使用教程

    什么是 koa-pug-render ? koa-pug-render 是一个基于 koa 的 Pug 模板渲染器,提供了一种简单方便的方式处理 Pug 模板的渲染。

    3 年前
  • npm 包 orientx 使用教程

    简介 orientx 是一个基于 java 的图形数据库 orientdb 的客户端封装包,使得在 node.js 环境下连接并使用 orientdb 数据库变得十分容易。

    3 年前
  • npm 包 adonis-cast-attributes 使用教程

    简介 adonis-cast-attributes 是一个 AdonisJS 框架下的 npm 包,它可以帮助开发者实现属性自动类型转换,避免了手动类型转换过程中的繁琐和可能带来的错误,提高了代码的可...

    3 年前
  • npm 包 nsp-reporter-owasp 使用教程

    npm 是 Node.js 世界中最大的包管理器,几乎每一个 Node.js 的开发者都会使用它来管理自己的项目。nsp 是 npm 内置的一个安全检测工具,可以对项目中的依赖包进行安全扫描,检查项目...

    3 年前
  • NPM 包 react-native-select-picker 使用教程

    在 React Native 中,需要使用下拉选择器时,可以使用一个很方便的 NPM 包——react-native-select-picker,它是一个基于 react-native 的自定义下拉选...

    3 年前
  • npm 包 bootme-projectx 使用教程

    在前端开发中,我们常常需要使用一些常见的基础组件和工具来提高开发效率。而 npm 是前端开发中极为常用的包管理工具,可以通过 npm 快速安装使用各种包。其中一个很好用的前端开发工具包就是 bootm...

    3 年前
  • npm 包 webcommon 使用教程

    npm 是 Node.js 的包管理器,在前端开发中也非常常用。webcommon 是 npm 中的一个插件包,提供了一些常用的前端组件和工具函数,方便我们开发。在本文中,我们将介绍 webcommo...

    3 年前
  • npm 包 ejscli 使用教程

    什么是 ejscli? ejscli 是一个基于 EJS 模板引擎的命令行工具,可以快速生成 HTML、CSS、JavaScript 代码,方便前端开发者快速构建项目。

    3 年前
  • npm 包 @gitsupport/angular-highlight-js 使用教程

    在现代Web开发中,前端技术已经成为了不容忽视的一部分。而在前端技术中,Angular是一个十分流行的框架,它带来了许多便利和易用性。在Angular开发中,我们经常会用到一些高亮显示代码的需求,这时...

    3 年前

相关推荐

    暂无文章