0

目前我有一个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“发展”阶段吗?如果是这样,如果我处于“生产”状态,我会得到什么结果。错误?

4

1 回答 1

0

我最终想通了。

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

将 getValidationErrorMessage() 函数附加到“类型”。IE

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' }
于 2017-04-01T03:07:39.433 回答