npm 包 perfectform 使用教程

前言

在前端开发中,表单是一项经常需要处理和优化的工作。perfectform 是一个方便、易用的 npm 包,它为我们提供了一套完整的表单验证和提交处理方案,能够大大节省我们的开发时间,并提高表单的可用性和稳定性。本篇文章将为大家介绍如何使用 perfectform。

安装

使用 npm 进行安装

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

简介

perfectform 的主要功能有表单验证和提交处理。

表单验证

perfectform 提供了丰富的表单验证方法,可以满足大部分表单验证需求,包括:

  • 必填项
  • 邮箱、手机号、身份证号等格式验证
  • 数字、整数等数据格式验证
  • 最大长度、最小长度等长度验证
  • 自定义正则验证

表单提交

perfectform 使用 AJAX 技术提交表单数据,并提供了以下优秀的功能:

  • 支持文件上传和图片预览
  • 支持多步提交
  • 支持多重表单嵌套
  • 支持提交前校验和提交成功失败提示

使用

表单验证

perfectform 的表单验证方法分为两类:全局验证和单个元素验证。

全局验证

全局验证是在表单提交前对整个表单进行验证。在实例化 perfectform 对象时,可以传入一个 options 对象,用于配置全局验证规则和错误提示。

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

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

这里的 rules 对象用于配置验证规则,messages 对象用于配置错误提示信息。上面的例子表示:

  • name 等于必填项,长度在 2 到 20 之间,且只能包含英文字母
  • email 等于邮箱格式
  • phone 等于手机号码格式

如果表单验证失败,perfectform 会在提交按钮下面自动显示出失败原因。如果验证成功,表单将会被提交。

单个元素验证

perfectform 的单个元素验证方法包含四个字符:

  • data-required: 必填项,表单不能为空
  • data-length: 长度验证,格式为 data-length="min,max",表示长度必须在 min 和 max 之间
  • data-reg: 自定义正则验证,格式为 data-reg="pattern",其中 pattern 是自定义正则表达式字符串
  • data-email: 邮箱格式验证
  • data-mobile: 手机号码格式验证

单个元素验证方法使用 valid() 方法,可以在任何时候进行调用。例如在 submit 事件中:

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

这里,如果 #name 元素验证失败,表单将不会被提交。

表单提交

perfectform 的表单提交方式可以通过 ajax() 方法进行,它接受一个 options 对象,用于配置提交规则,包括提交地址、提交方式、数据序列化方式等。

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

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

这里,ajax() 方法返回了一个 Promise 对象,可以使用 then()catch() 方法进行成功和失败的回调处理。在提交前,perfectform 会自动进行表单验证,如果验证失败,表单将不会被提交。

多文件上传和图片预览

通过 fileInput() 方法可以实现多文件上传和图片预览。fileInput() 方法接受一个 options 对象,用于配置文件上传和图片预览规则。

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

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

这里,#my-upload 是上传文件的表单元素的 ID,options 对象包含四个属性:

  • preview: 图片预览区域的选择器
  • acceptType: 支持的文件类型(可选:image,audio,video)
  • maxSize: 支持的文件大小(默认:10M)
  • limit: 支持的文件数量(默认:1)

多步表单提交

通过 wizard() 方法可以实现多步表单提交。wizard() 方法接受一个 options 对象,用于配置多步表单提交的规则。

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

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

这里,options 对象包含一个 steps 数组,数组中的每个元素是一个步骤对象,其中包含两个属性:

  • form: 表单元素的选择器
  • validate: 需要验证的表单元素的选择器数组

多步表单提交会在每个步骤提交前自动验证当前步骤的表单,如果验证失败,将不会进入下一步。最后一步提交成功后,整个表单数据才会被提交。

总结

perfectform 是一个非常好用的表单验证和提交处理 npm 包,在实际开发中可以大大提高我们的工作效率。本篇文章主要介绍了它的使用方法,分别包括表单验证、表单提交、多文件上传和图片预览、多步表单提交等功能。希望对大家有所帮助。

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


猜你喜欢

  • npm 包 gulp-dev-middleware 使用教程

    前言 gulp-dev-middleware 是一种功能强大的 Node.js 模块,它可以帮助我们快速而方便地构建前端项目。在实际项目中,我们经常需要借助同一个主机中的其他应用程序进行开发,而 gu...

    3 年前
  • npm包 presentation-node-build-tools 使用教程

    介绍 随着前端技术的不断发展,构建工具和自动化工具的重要性一直都是不可忽视的。在这个过程中,npm包 presentation-node-build-tools 出现了,它是一个可以帮助前端工程师快速...

    3 年前
  • npm 包 @teanocrata/jsfundamentals 使用教程

    引言 @teanocrata/jsfundamentals 是一个面向初学者的 JavaScript 基础教程库。通过该库,初学者可以快速掌握 JavaScript 的基本语法、常用 API 和编程思...

    3 年前
  • npm 包 oauth2orize-google 使用教程

    在现代的前端开发中,我们经常需要在应用中集成第三方授权登录。Google 提供了 OAuth 2.0 授权服务,让我们可以通过 OAuth 2.0 协议实现用户的认证和授权。

    3 年前
  • npm 包 node-red-contrib-poloniex-api 使用教程

    前言 在现代的互联网应用中,如何高效地获取、处理和展示数据是前端开发者需要面对的重要问题。而在加密货币交易领域,数据的实时性和准确性是至关重要的,因此使用合适的工具来帮助处理这些数据就显得尤为重要。

    3 年前
  • npm 包 read-me-module.io 使用教程

    本文介绍了 npm 包 read-me-module.io 的使用方法和相关知识点。read-me-module.io 是一个用于生成项目 README 文档的工具,可以快速生成易读易懂的文档,帮助开...

    3 年前
  • npm 包 vue-stack-grid-component 使用教程

    Vue Stack Grid Component 是一个丰富、灵活并且易于使用的 Vue.js 组件,用于快速创建具有交互性的栅格布局。 安装 你可以通过 npm 安装 Vue Stack Grid ...

    3 年前
  • npm 包 cordova-plugin-zhugeio 使用教程

    前言 在移动端应用开发中,用户行为统计是非常重要的一项工作。而市面上提供的第三方数据统计工具也越来越多,比较流行的有百度统计、友盟统计、GrowingIO 等等。但是,我们今天要介绍的是一款国内的第三...

    3 年前
  • npm 包 google-flights-api 使用教程

    前端开发中,我们经常需要通过 API 获取数据,在航班搜索中,Google Flights 是一个非常流行的在线服务。开发人员可以通过 npm 安装 google-flights-api npm 包来...

    3 年前
  • npm 包 node-red-contrib-rotate-logger 使用教程

    在前端开发中,日志记录是一项很重要的任务。开发人员需要在应用程序代码中添加日志代码行来跟踪应用程序的行为和状况。但是,这种方法可能会导致日志记录信息的混杂和混乱。为了解决这个问题,出现了很多的日志插件...

    3 年前
  • npm 包 node-red-contrib-wikisearch 使用教程

    Node-RED 是一个用于构建物联网设备和 Web 应用程序的可视化工具,其中一个重要的插件就是 node-red-contrib-wikisearch。这个插件可以让我们轻松调用维基百科的内容,并...

    3 年前
  • npm 包 snappy-logic-nodes 使用教程

    简介 npm 包 snappy-logic-nodes 是一款适用于前端的 JavaScript 库,用于构建流程图,并提供丰富的节点和交互式操作。 该库使用了基于 HTML5 canvas 和 SV...

    3 年前
  • npm 包 earbuds-http 使用教程

    在前端开发中,经常需要通过 HTTP 协议进行数据传输。为了更高效地完成 HTTP 请求,我们可以使用一些常见的库或框架,比如 axios、fetch 等。在本文中,我们将介绍另一款优秀的 npm 包...

    3 年前
  • npm包8gua使用教程

    前端开发中有很多便捷的工具和技术,npm包就是其中之一。npm包是Node.js的包管理器,可以用于共享和发布JavaScript代码。本文将介绍一个常用的npm包8gua,它提供了很多有用的功能,包...

    3 年前
  • npm 包 firebase-mock-functions 使用教程

    Firebase 是一款广受欢迎的后端云服务平台,提供了开发者非常方便的开发工具和服务。firebase-mock-functions 是一个 npm 包,提供了一个模拟 Firebase 环境,可以...

    3 年前
  • npm 包 three-octree 使用教程

    在前端领域中,three.js 带来了强大的 3D 图形渲染能力,能够让开发者轻松地创建出华丽的 3D 场景。但是在处理大量几何数据时(如点云、地形、建筑物等),three.js 的性能表现并不是很理...

    3 年前
  • npm 包 spotify-wrapper-web-api 使用教程

    什么是 spotify-wrapper-web-api? spotify-wrapper-web-api 是一个用于访问 Spotify Web API 的 npm 包。

    3 年前
  • npm 包 angular2-schema-form-no-reduce 使用教程

    在我们进行前端开发时,经常需要使用到表单,而 AngularJS 是一个非常流行且强大的前端框架,Angular2-schema-form-no-reduce 就是一个非常好用的 Angular2 应...

    3 年前
  • npm 包 sh4rd-sjcl 使用教程

    前言 在前端开发中,我们经常需要对用户数据进行加密处理。而 sjcl 是一个在浏览器中运行的加密算法库,它支持多种对称加密算法,同时还提供了现代密码学中常用的哈希算法、消息认证码算法等。

    3 年前
  • npm 包 maximum-overbusiness 使用教程

    在前端开发中,我们常常需要使用各种各样的工具和库来辅助完成开发任务。而 npm 是一个非常重要的工具,它可以帮助我们方便快捷地管理和使用这些工具和库。其中,maximum-overbusiness 是...

    3 年前

相关推荐

    暂无文章