当前位置:  开发笔记 > 编程语言 > 正文

验证Mongoose Schema并显示自定义错误消息的最佳实践

如何解决《验证MongooseSchema并显示自定义错误消息的最佳实践》经验,为你挑选了0个好方法。

我已经开始学习Node.js了,有一点让我感到困惑的是Schema验证.

验证数据并向用户显示自定义错误消息的最佳做法是什么?

假设我们有这个简单的Schema:

var mongoose = require("mongoose");

// create instance of Schema
var Schema = mongoose.Schema;

// create schema
var Schema  = {
    "email" : { type: String, unique: true },
    "password" : String,
    "created_at" : Date,
    "updated_at" : Date
};

// Create model if it doesn't exist.
module.exports = mongoose.model('User', Schema);

我想让注册用户拥有独特的电子邮件,所以我已添加unique: true到我的架构中.现在,如果我想向用户显示错误消息,说明为什么他没有注册,我会收到类似这样的回复:

    "code": 11000,
    "index": 0,
    "errmsg": "E11000 duplicate key error index: my_db.users.$email_1 dup key: { : \"test@test.com\" }",
    "op": {
      "password": "xxx",
      "email": "test@test.com",
      "_id": "56895e48c978d4a10f35666a",
      "__v": 0
    }

这有点乱,我想显示发送给客户端这样的事情:

"status": {
  "text": "Email test@test.com is already taken.",
  "code": 400
}

怎么做到这一点?

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有