npm 包 sm-validation-module 使用教程

阅读时长 6 分钟读完

简介

sm-validation-module 是一个轻量级的前端验证库,其目的是为了方便开发人员快速进行表单验证。该库支持多种数据类型验证,支持自定义验证方法,同时也支持异步验证。

安装

使用 npm 进行安装:

使用示例

常规验证

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

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

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

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

在上述示例中,我们使用 ValidationHelpervalidate 方法对 data 数据进行验证。rules 数组包含需要验证的字段及其规则,例如 { name: 'username', required: true, message: '请输入用户名' } 表示验证 data 对象中的 username 字段是否为空,如果为空,则返回错误消息 '请输入用户名'

自定义验证方法

我们可以使用 ValidationHelper 类的 addMethod 方法添加自定义验证方法:

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

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

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

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

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

异步验证

对于需要异步验证的规则,我们可以使用 promise 对象返回结果。

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

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

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

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

在上述示例中,我们添加了一个异步验证方法 asyncValidator,在验证 email 字段时会异步返回结果,等待 1 秒钟后才会验证通过。

API 文档

ValidationHelper

  • validate(rules: ValidationRule[], data: Record<string, any>): ValidationError[],常规验证方法,返回错误消息列表。
  • validateAsync(rules: ValidationRule[], data: Record<string, any>): Promise<ValidationError[]>,异步验证方法,返回 promise 对象,可以使用 await 等待异步方法的返回。
  • addMethod(name: string, validator: (value: any) => boolean): void,添加自定义验证方法。
  • setLocale(locale: string): void,设置本地化语言(默认为英文)。

类型定义

  • ValidationRule,验证规则,对象类型,包含以下属性:

    • name: string,字段名称,必须与 data 中的字段名称对应。
    • validator?: (value: any) => boolean,自定义验证方法,如果提供了该属性,无需提供 typerequired 属性。
    • type?: 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object' | 'email' | 'url' | 'date' | 'datetime',数据类型,可选,default: 'string'。
    • required?: boolean,是否必填,可选,default: false。如果设置了该属性,则 validator 属性无效。
    • message?: string,错误提示信息,可选。
    • asyncValidator?: (value: any) => Promise<void>,异步验证方法,可选。
  • ValidationError,错误消息类型,对象类型,包含以下属性:

    • name: string,字段名称,必须与 data 中的字段名称对应。
    • message: string,错误提示信息。

总结

sm-validation-module 是一个功能丰富,易于使用的前端验证库。我们可以使用该库快速实现表单验证,并且支持自定义验证方法和异步验证。本文介绍了如何在项目中使用该库,希望对读者有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005671f81e8991b448e384f

纠错
反馈