Sequelize如何建立自定义校验器

阅读时长 3 分钟读完

Sequelize是一个流行的JavaScript ORM库,可用于与多种数据库交互。Sequelize提供了许多内置校验器,但是有时您需要实现自定义校验器来检查模型中的一些字段。在本文中,我们将介绍如何建立自定义校验器以及如何将其添加到模型中。

什么是自定义校验器?

在Sequelize中,校验器用于检查模型中的字段是否满足特定条件。Sequelize具有许多内置校验器,例如“notEmpty”和“isEmail”。这些校验器非常有用,但有时您需要检查模型中的字段是否满足您自己的条件。这时候自定义校验器派上用场了。

如何创建自定义校验器?

在Sequelize中创建自定义校验器非常简单。您只需要编写一个函数,此函数将要验证的值作为参数,并返回“true”或“false”。

下面是一个示例自定义校验器,用于检查电子邮件地址是否已注册:

在上面的代码中,我们使用Sequelize的“findOne”方法来查找具有给定电子邮件的用户。如果找到了用户,我们会抛出一个错误,指示该电子邮件已被使用。

如何将自定义校验器添加到模型中?

一旦创建了自定义校验器,您需要将其添加到Sequelize模型中才能使用。您可以通过将自定义校验器传递给字段的“validate”属性来实现此操作。

下面是使用自定义校验器的示例模型:

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

在上面的代码中,我们将内置校验器“isEmail”和自定义校验器“isEmailAvailable”添加到“email”字段的验证器中。当Sequelize验证模型时,它将依次运行每个验证器,并为任何失败的验证器返回错误。

总结

Sequelize的自定义校验器使您能够执行高度定制的数据验证。通过编写自己的校验器函数,并将它们添加到模型中,您可以确保模型中的数据满足您的特定需求。在实践中,您可能需要使用多个校验器来确保模型中的字段满足各种条件。

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

纠错
反馈