我正在寻找一种方法来检索所有验证错误。 (我使用的是Collection2和SimpleSchema)
考虑以下代码:
Foo.insert({
title: '',
description: ''
}, function(error, result) {
console.error(error);
});
输出:
{
message: 'Title may not be empty.',
invalidKeys: [
0: {
name: 'title',
type: 'required',
value: ''
},
1: {
name: 'description',
type: 'required',
value: ''
}
]
}
我希望获得与验证相关的所有错误消息。 不幸的是,我找不到任何解决办法。
SOLUTION:
我找到了一个令人满意的解决方案
Foo.simpleSchema().namedContext().keyErrorMessage('title');
答案 0 :(得分:1)
我遇到了同样的问题,我的解决方案是将所述错误插入到客户端mongo错误集合中,然后将错误显示给用户。以下是我提出的建议:
模式的
Schema.newUser = new SimpleSchema({....});
客户端验证
function tokenRegistration (newUser) {
var valContext = Schema.newUser.namedContext('tokenRegForm');
if (!valContext.validate(newUser)) {
var keys = valContext.invalidKeys();
_.each(keys, function (value) {
var error = value.name,
message = valContext.keyErrorMessage(error);
return ErrorMessage.insert({errormessage: message})
});
}
}