zur*_*fyx 5 mongoose node.js validator.js
我正在使用猫鼬4.9.0.虽然下面的代码有效,但我收到如下警告:
(node:24769)DeprecationWarning:在mongoose> = 4.9.0中不推荐使用隐式异步自定义验证器(带有2个参数的自定义验证器).有关详细信息,请参阅http://mongoosejs.com/docs/validation.html#async-custom-validators.
我怀疑错误来自模型验证器.
const mongoose = require('mongoose');
const isEmail = require('validator/lib/isEmail');
const Schema = mongoose.Schema;
const userSchema = new Schema({
email: {
type: String,
unique: true,
required: true,
validate: [{ validator: isEmail, msg: 'Invalid email.' }],
},
});
module.exports = mongoose.model('User', userSchema);
Run Code Online (Sandbox Code Playgroud)
我似乎唯一的自定义验证器isEmail来自validator库,它给出一个字符串值返回它是否有效.
zur*_*fyx 10
您的自定义验证器中存在一个偷偷摸摸的错误.
isEmail从函数validator库需要两个参数,即使第二个是完全可选的.
isEmail(str [, options])
Run Code Online (Sandbox Code Playgroud)
你可以通过在它上面创建一个函数来阻止mongoose看到它:
validate: [{ validator: value => isEmail(value), msg: 'Invalid email.' }]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3101 次 |
| 最近记录: |