Я новичок в Meteor js и пытаюсь создать форму, следуя официальному руководству http://guide.meteor.com/methods.html#method-form. Он предлагает использовать пакет mdg:validated-method и aldeed:simple-schema для проверки, которые основаны on 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 и первое удобочитаемое сообщение из простой схемы. Я использую переведенные сообщения и метки полей в простой схеме, чтобы получить понятные сообщения об ошибках проверки. Таким образом, получение только имени свойства объекта с «требуемым» неприемлемо, особенно в случае, когда сообщение включает, например, минимальные/максимальные ограничения. Я не смог найти способ получить контекст проверки простой схемы для получения полного списка читаемых человеком ошибок.
Итак, мой вопрос: могу ли я получить полные сообщения об ошибках на клиенте и как? Или, может быть, есть лучшие способы добиться того, что я пытаюсь сделать?
заранее спасибо