目前我有一个+ 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
“开发”了吗?如果是这样,那么如果我处于“生产”状态,我会得到什么?
答案 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' }