Strapi 4.0 中的错误处理/抛出错误

Zor*_*rox 2 strapi

在 Strapi 4.0 中,我想在保存之前验证输入。所以我根据文档创建了lifecycles.js文件并添加了代码:

module.exports = {
    beforeCreate(event) {
         //validation login here;
         if (!valid) {
             throw strapi.errors.badRequest('Invalid Entry');
        }
    },
}
 
Run Code Online (Sandbox Code Playgroud)

怎么throw strapi.errors.badRequest('Invalid Entry');会出现错误:

Cannot read property 'badRequest' of undefined
Run Code Online (Sandbox Code Playgroud)

我的猜测是 Strapi v4 从版本 3 开始改变了它。我到处寻找但找不到解决方案。

关于如何处理 中的错误有什么想法lifecycles.js吗?

小智 5

我也遇到过类似的情况,但出现了禁止的错误。我必须从以下位置导入一个类@strapi/utils/lib/errors.js

const { ForbiddenError } = require("@strapi/utils").errors;

...

if (!authorized) {
  throw new ForbiddenError(errorMessage);
}
Run Code Online (Sandbox Code Playgroud)