Sequelize 如何添加自定义验证器 validator

阅读时长 5 分钟读完

在 Sequelize 中,我们可以方便地为模型属性设置验证器,以保证数据的完整性和正确性。除了 Sequelize 提供的内置验证器之外,我们还可以添加自定义验证器 validator。

本文将介绍如何在 Sequelize 中添加自定义验证器 validator,内容详细,具有深度和指导意义,同时会附带示例代码。

1. 什么是自定义验证器 validator

在 Sequelize 中,自定义验证器 validator 就是开发者自己编写的验证函数,用于验证模型属性的合法性。

自定义验证器可以用来验证各种不同的输入情形,比如验证输入是否符合特定的格式、验证输入是否满足业务逻辑等。

2. 如何添加自定义验证器 validator

在 Sequelize 中添加自定义验证器 validator 非常简单,只需要按照以下步骤实现即可:

2.1 创建验证器函数

首先,我们需要创建一个验证器函数,用来验证模型属性的合法性。验证器函数应该返回一个布尔值,true 表示验证通过,false 表示验证失败。

以下代码示例创建了一个名为 isEmail 的验证器函数,用于验证输入是否为合法的电子邮件地址:

2.2 将验证器添加到模型属性中

接下来,我们需要将验证器添加到模型属性的 validate 属性中。validate 属性是一个对象,包含各种内置验证器和自定义验证器。

以下代码示例将 isEmail 验证器添加到 User 模型的 email 属性中:

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

----- ---- - ------------------------ -
  ------ -
    ----- -----------------
    ---------- ------
    --------- -
      -------- -
        ---- ------- ----- - ----- ------- -- ------------
        ---------- --------------- -
          ------ --------------- -- ----------
        -
      -
    -
  -
---
展开代码

3. 自定义验证器 validator 示例

下面是一个完整的示例代码,用于演示如何在 Sequelize 中添加自定义验证器 validator。

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

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

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

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

-- -----------
------------------------ -- -
  -- -------- ----- -----
  ------ -------------
    ------ -----------------
  ------------ -- -
    ---------------------------
  -------------- -- -
    ---------------------------
  ---
---
展开代码

当我们运行以上代码时,输出结果应该为:

这是因为 'foo@example.com' 并不是一个合法的电子邮件地址,无法通过自定义验证器函数 isEmail 的验证。

4. 总结

本文介绍了如何在 Sequelize 中添加自定义验证器 validator,其中包括以下步骤:

  1. 创建验证器函数;
  2. 将验证器添加到模型属性的 validate 属性中。

通过以上步骤,我们就能够自己编写各种不同的验证函数,用于验证模型属性的合法性。这将有助于我们保证数据的完整性和正确性。

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

纠错
反馈

纠错反馈