代码之家  ›  专栏  ›  技术社区  ›  Seeven

JavaScript或TypeScript中的条件链接

  •  2
  • Seeven  · 技术社区  · 3 年前

    在这个例子中,我想 myKey 成为 Joi.string().required() 如果 modifier === true ,但只是 Joi.string() false :

    function customJoi(modifier) {
      return Joi.object({
        myKey: Joi.string() //#If(modifier) .required() #EndIf
      });
    }
    

    我知道我可以不用这个功能,只需多个步骤。我只是想知道是否有一个很好的方法来为大型对象简洁地编写它。

    2 回复  |  直到 3 年前
        1
  •  4
  •   Nina Scholz    3 年前

    你能接受吗 optional ,如果不需要。

    myKey: oi.string()[modifier ? 'required' : 'optional']()
    
        2
  •  4
  •   GenericUser    3 年前

    你可以通过一个 ternary .

    function customJoi(modifier) {
        return Joi.object({
            myKey: modifier ? Joi.string().required() : Joi.string()
        });
    }