当前位置: 首页 > 知识库问答 >
问题:

如何自定义从Express发送的Mongoose/MongoDB错误

蒙才
2023-03-14

当一个用户试图创建一个包含“password”的密码时,我正在向我的iOS客户端发送一条错误消息。

我想向用户显示一个简单的消息,而不需要在客户端上分割字符串等,所以我不想发送“用户验证失败:密码:”只有“密码不能包含单词密码”。

如何在Node/Express中自定义此消息?它是Mongoose还是MongoDB实现?

谢谢!

// Mongoose password model.
password : {
     type: String,
     required: [true, "password is required"],
     validate(value) {
         if (value.length < 6) {
             throw new Error(`password must be longer than 6 characters`)
            }
         if (value.toLowerCase().includes(`password`)) {
             throw new Error(`password cannot contain the word ${value}`)
            }
        },
     trim: true,
     minLength: [6, "password cannot be shorter than 8 characters"],
     maxlength: [80, "name cannot be longer than 30 characters"]
    },

// Router error response
catch(err) {
        console.log(err.message)     
        res.status(500).send({error: err.message}) 
    }
-> User validation failed: password: password cannot contain the word password

共有1个答案

胥玮
2023-03-14

在快速发送错误消息之前,您始终可以自定义错误消息:

catch(err) {
  console.log(err.message) 
  // Add Message Customization Here:
  const message = err.message.replace("User validation failed: password:", "");    
  res.status(500).send({error: message}) 
}
 类似资料:
  • 我正在创建一个应用程序,我需要从自定义gmail域发送电子邮件。这是我的代码。 它给我的错误如下: 线程"main"中的异常java.lang.运行时异常:javax.mail.身份验证失败异常:534-5.7.14请通过534-5.7.14您的Web浏览器登录,然后重试。534-5.7.14在534 5.7.14https://support.google.com/mail/answer/787

  • 当我运行此代码时,它返回一个错误,说明未定义err 这是我的代码 下面是我对MongoDB模式的定义: 来人,请帮我修好这个谢谢!

  • 我的程序目的:触发服务中的BACK按钮 我尝试了很多方法,没有人能达到这个目的,最后我发现了AccessibilityService,它可能是实现这个功能的最可能的方法。 我创建了这个AccessibilityService,并测试它是否正常工作 然后我尝试将移动到服务,但它不执行操作。 我也尝试以不同的方式发送自定义事件,但没有人可以发送到MyAccessibilityService 如何向My

  • /** 自定义消息发送接口(目前只支持文本消息发送) @param chatController 聊窗实体(必须是小能SDK创建的聊窗实体NtalkerChatController类型) @param type 消息类型: 11:文本消息 12:图片消息 13:语音消息 14:视频消息 @param message 消息内容 */ NSString *str = @“自定义文本消息test”;

  • 我正试图发送一个授权令牌,但我的服务器不知何故没有接收它。 //service.ts } //endpoint //标记过滤器

  • 问题内容: 我正在通过制作一个简单的Twitter客户端来练习PyQt和(Q)线程。我有两个Qthread。 主/ GUI线程。 Twitter提取线程-每隔X分钟从Twitter提取数据。 因此,每隔X分钟,我的Twitter线程就会下载一组新的状态更新(Python列表)。我想将此列表移交给Main / GUI线程,以便它可以使用这些状态更新窗口。 我假设我应该使用信号/插槽系统将“状态” P