驗證用戶我的API接受users
作爲JSON發佈。我只想驗證某些字段是否作爲JSON對象的一部分包含在內。使用.pre保存
例如,一個用戶可能是這樣的:
{
"email" : "[email protected]",
"username" : "testing",
"name" : "Test User"
}
,或者它可能沒有一個名稱字段:
{
"email" : "[email protected]",
"username" : "testing"
}
,我想,以確保name
至少有6個字符如果它是一個包含字段。
我試圖使用.pre
將驗證過程構建到我的模型中,但事情並不像我預期的那樣。
var UserSchema = new Schema({
id : String,
name : String,
email : String,
username : String
},{ timestamps: { createdAt: 'created_at',updatedAt: 'updated_at' } });
UserSchema.pre('save', function(next) {
console.log(this); //no evidence of name property here
if("name" in this){
console.log("Name found"); //this is always the output
} else {
console.log("Name not found");
}
next();
});
上述代碼用於測試。使用上面的任何一個JSON對象,即使輸出到控制檯時該對象沒有name
屬性,輸出也始終爲「找到名稱」。這是因爲該模型有一個name
屬性?
你會記下'UserSchema'嗎?以及「這裏沒有名稱屬性的證據」是什麼意思,什麼是已經記錄的? –
我已經添加了它 – tommyd456
我的意思是,當我在終端中看到用戶對象時,在使用沒有名稱的JSON時沒有'name'屬性。問題是''這個名字''仍然說它存在? – tommyd456