React Joi uri 验证可选

o..*_*..o 3 reactjs joi

我在 React 中使用 Joi 验证与此模式:

...
intro_video_link:
    Joi.string()
    .uri()
    .label("Intro Video"),
...
Run Code Online (Sandbox Code Playgroud)

也是intro_video_link必需的。我希望 Joi 验证 uri 字段是否已填充,但也允许它为空。没有.required()叫的。

如何?

谢谢

sol*_*tex 10

您可能想.allow()结合.required()

 intro_video_link:  Joi.string().uri().label("Intro Video").required().allow('')
Run Code Online (Sandbox Code Playgroud)

这样,以下对象将通过验证:

{
   intro_video_link: ''
}


{
   intro_video_link: 'https://github.com'
}
Run Code Online (Sandbox Code Playgroud)