tcomb - проверка сообщения об ошибке пользовательского форматирования
В настоящее время у меня есть t.Number
поле.
Когда я звоню t.validate()
на это, это дает мне следующее result.errors
:
{
"actual": "James King",
"message": "Invalid value \"James King\" supplied to /user_id: Number",
"path": ["user_id"]
}
Можно ли изменить вывод t.Number
валидация иметь:
{
"actual": "James King",
"message": "Oops! The value is invalid",
"path": ["user_id"]
}
Кроме того, я понимаю, что results.errors
потому что я в NODE_ENV
"Развитие"? Если да, то какие результаты. Ошибки я получу, если я нахожусь в "производстве"?
1 ответ
Я понял это в конце.
Согласно: https://github.com/gcanti/tcomb-validation
Присоедините функцию getValidationErrorMessage() к типу. т.е.
Number.getValidationErrorMessage = (value, path, context) => {
return '"'+value+'" is invalid. It must be a number.';
}
Затем сделал вызов функции проверки tcomb-validate():
const result = t.validate('s', Number);
Это дало результат с настроенным сообщением об ошибке:
result Struct {
errors:
[ Struct {
message: '"s" is invalid. It must be a number.',
actual: 's',
expected: [Object],
path: [] } ],
value: 's' }