这是我的猫鼬模式。我有验证器功能。当我打印长度然后它显示未定义。我希望phno字段为10位数。帮助!!
'use strict';
var mongoose = require('mongoose');
function validator (v) {
console.log("phno len:"+v.length)
return v.length == 10;
};
var UserSchema = new mongoose.Schema({
fname:{type:String, required:true},
lname:{type:String, required:true},
username:{type:String, required:true},
password:{type:String, required:true},
phno:{type:Number,required:true,validate:[validator,'Phno must be 10 digits']},
email:{type:String, required:true},
dob:{type:Date,required:true},
address:{type:String, required:true}
});
var User = mongoose.model('User', UserSchema);
module.exports = User;
答案 0 :(得分:0)
phno
的类型为Number
,length
中没有Number
。 Numbers
有min
和max
个验证工具。
也许您可以将phno
类型更改为String
,它可以满足您检查数字长度的要求。
或尝试将数字转换为字符串,如下所示。
function validator (v) {
console.log("phno len:" + v.toString().length)
return v.toString().length == 10;
};