我是Node.js / Mongo的新手,我想知道如何在验证中使用i18n。到目前为止,这就是我所拥有的
模式
const UserSchema = new Schema({
language: {
type: String,
enum: ['fr', 'en']
},
email: {
type: String,
default: ''
}
});
验证
i18n.configure({
locales:['en', 'fr'],
directory:'locales',
defaultLocale: this.language,
cookie: 'locale'
});
UserSchema.path('email').validate(function (email) {
return email.length;
}, i18n.__('Email_is_required'));
之前我添加了i18n的配置,所以我可以使用它,但我知道这不是正确的方法。我尝试使用 this.language ,但默认情况下它总是英文。
我想用我的表单中发送的语言配置i18n。有没有办法在模型中做到这一点?谢谢!
答案 0 :(得分:0)
所以我能找到一个解决方法,到目前为止我的解决方案。我直接在现场使用id
const UserSchema = new Schema({
email: {
type: String,
unique: 'Unique_email', // id error in en.json
trim: true,
default: '',
required: [true, 'Email_required']
}
});
在我看来,使用帕格这是我为每个错误做的事情
ul
each error in errors
li!= __(error) // the error return will be the key for this language