[英]Joi conditional .required()
我有一個返回 Joi 模式的函數。 該模式中的字符串可以是必需的,也可以是可選的。
這是我的功能:
function myString(required) {
const schema = Joi.string();
if (required) schema.required();
return schema;
}
調用myString(true)
不適用於.required()
。 但是,如果我的函數定義為:
function myString() {
const schema = Joi.string().required();
return schema;
}
我想要一個函數來應用條件.required()
(和其他驗證),所以我不會浪費時間Joi.string()
寫Joi.string()
或Joi.string().required()
。 所以,以下不符合我的需要:
function myString(required) {
return required ? Joi.string().required() : Joi.string();
}
為什么我的第一個功能不起作用? 我怎樣才能讓它工作?
joi
函數返回this
實例,您需要將其存儲到變量中。 它是builder
function myString(required) {
let schema = Joi.string();
if (required) {
schema = schema.required();
}
return schema;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.