簡體   English   中英

如何進行 Prisma 運行時 model 驗證?

[英]How to do Prisma runtime model validation?

在我的應用程序中,我已經使用類驗證器在 DTO 級別驗證了輸入憑據。 但我需要像 sequelize ORM 這樣的運行時 model 驗證。

在續集中:

'use strict';
import { DataTypes, Sequelize } from 'sequelize';

function User(sequelize: Sequelize) {
  const user = sequelize.define(
    'User',
    {
      name: {
        type: DataTypes.STRING,
        allowNull: false
      },
      role: {
        type: DataTypes.STRING(20),
        allowNull: false
      },
      email: {
        type: new DataTypes.STRING,
        allowNull: false,
        validate: {
          isEmail: {
            // args: true,
            msg: 'Invalid email'
          },
          len: {
            args: [1, 100] as readonly [number, number],
            msg: 'Email length should be 1 to 100 characters'
          },
          notNull: {
            // args: true,
            msg: 'Email cannot be empty'
          }
        }
      },
      password: {
        type: DataTypes.VIRTUAL,
        allowNull: true,
      },
    },
    {
      tableName: 'users',
      underscored: true,
      createdAt: 'created_at',
      updatedAt: 'updated_at',
      deletedAt: 'deleted_at',
      paranoid: true
    }
  );

  return user;
}
export default User;

是否有可能在 Prisma 中進行 model 驗證?

Prisma 有一個開放的功能請求,可以直接在 Schema 級別支持運行時 model 驗證。 或者,您可以利用客戶端擴展來執行驗證。 這篇博文中有一個示例展示了如何執行自定義運行時驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM