Node.js'yi öğrenmeye başladım ve biraz kafa karıştırıcı olan bir şey Schema onaylaması.Mongoose Schema'yı doğrulamak ve özel hata mesajı görüntülemek için en iyi uygulama
Verileri doğrulamak ve kullanıcıya özel hata iletisi görüntülemek için en iyi uygulama hangisi olurdu?
Şimdi bu basit Şeması var diyelim:
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);
benim Şema unique: true
ekledik böylece benzersiz e-postalar ile kayıtlı kullanıcımız var istiyorum. Onun kayıtlı değil neden diyor kullanıcıya hata mesajı görüntülemek istiyorsanız Şimdi, böyle tepki şey alacağı:
"code": 11000,
"index": 0,
"errmsg": "E11000 duplicate key error index: my_db.users.$email_1 dup key: { : \"[email protected]\" }",
"op": {
"password": "xxx",
"email": "[email protected]",
"_id": "56895e48c978d4a10f35666a",
"__v": 0
}
Bu, tüm biraz dağınık ve ben istemciye göndermek göstermek istiyorsanız sadece böyle bir şey:
"status": {
"text": "Email [email protected] is already taken.",
"code": 400
}
Bunu nasıl gerçekleştirebilirim?
11000'in 'code' değerini kapatın ve ardından ayrıntıları almak için' errmsg' değerini ayrıştırın. İstediğin kadar temiz değilsin, ama işte böyle yapıyorsun. – JohnnyHK