我是 Meteor js 的新手,我正在尝试按照官方指南http://guide.meteor.com/methods.html#method-form创建一个表单。它建议使用mdg:validated-method包和 aldeed:simple-schema 进行验证,它们基于 mdg:validation-error 向客户端返回验证错误消息。该指南建议使用此代码然后处理验证
Invoices.methods.insert.call(data, (err, res) => {
if (err) {
if (err.error === 'validation-error') {
// Initialize error object
const errors = {
email: [],
description: [],
amount: []
};
// Go through validation errors returned from Method
err.details.forEach((fieldError) => {
// XXX i18n
errors[fieldError.name].push(fieldError.type);
});
// Update ReactiveDict, errors will show up in the UI
instance.errors.set(errors);
}
}
});
但问题是 err.error 中只有 fieldError.type、fieldError.name 和来自 simple-schema 的第一条人类可读消息可用。我在简单模式中使用翻译的消息和字段标签来获得易于理解的验证错误消息。因此,仅使用“必需”获取对象属性名称是不可接受的,尤其是在消息包含最小/最大约束的情况下。我找不到任何方法来获取简单模式的验证上下文来检索人类可读错误的完整列表。
所以我的问题是我可以在客户端上获得完整的错误消息吗?如何获得?或者也许有更好的方法来实现我想要做的事情?
提前致谢