tcomb - 验证错误消息自定义格式

时间:2017-03-31 01:30:53

标签: tcomb

目前我有一个+ fprintf(stderr, " --gdb-port=<port> Listen on <port> for gdb to connect\n"); + parser.option(0, "gdb-port", 1, [&](const char* s){gdb_port = atoi(s);}); 字段。

当我打电话给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“开发”了吗?如果是这样,那么如果我处于“生产”状态,我会得到什么?

1 个答案:

答案 0 :(得分:0)

我最终想通了。

根据:https://github.com/gcanti/tcomb-validation#customise-error-messages

将getValidationErrorMessage()函数附加到&#39;类型&#39;。 即。

Number.getValidationErrorMessage = (value, path, context) => {
  return '"'+value+'" is invalid. It must be a number.';
}

然后调用了tcomb-validate的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' }