validation - 有没有办法合并 Joi 模式?

标签 validation object merge joi

有没有办法将两个 joi 模式合并为一个模式?

模式 1

{
  alpha: Joi.number().required(),
  beta: Joi.string().required(),
  chalie: Joi.object({
    xray: Joi.number().required(),
  }).required()
}

模式 1
{
  delta: Joi.string().required(),
  echo: Joi.number().required(),
  charlie: Joi.object({
    zulu: Joi.string().required(),
  }).required()
}

合并架构:
{
  alpha: Joi.number().required(),
  beta: Joi.string().required(),
  chalie: Joi.object({
    xray: Joi.number().required(),
    zulu: Joi.string().required(),
  }).required()
  delta: Joi.string().required(),
  echo: Joi.number().required(),
}

没有嵌套对象,使用 Object.assign 很容易完成。 ,但即使是深度对象合并也不适用于嵌套对象,因为嵌套对象是一个函数调用。

最佳答案

我想知道同样的事情,因为我想合并两个不同的模式,发现这个:https://github.com/hapijs/joi/blob/v9.0.4/API.md#anyconcatschema

const a = Joi.string().valid('a');
const b = Joi.string().valid('b');
const ab = a.concat(b);

希望能帮到你

关于validation - 有没有办法合并 Joi 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42914891/

相关文章:

python - 使用计数器合并字典

javascript - 向输入字段添加自定义验证

validation - angular2 - 在父 FormGroup 的子组件中验证 FormControlName

html - 有没有一种有效的方法可以用 HTML 元素包装 dt 和 dd?

python - Django 验证器函数的返回值存储在哪里?

Java对象序列化嵌套对象

c++ - Qt 对象的生命周期

Javascript 嵌套对象默认回退选项

javascript - 将对象数组按最新日期排序

c++ - 使用空树合并 AVL 树(C++ 模板)