Express-validator:如果其他字段值为真,则使字段可选
Express-validator: make field optional if other field value is true
如果单击 Anonymous
复选框,我正在尝试使用户的 Display Name
可选。
为此,我正在使用 express-validator
。
检查以下代码:
router
.route("/create-checkout-session")
.post(
[
check("displayName") //if isAnonymous : true than this is optional
.matches(vars.intlRegex)
.trim()
.escape()
.withMessage("Please provide a display name")
.optional({ checkFalsy: true }),
check("isAnonymous").isBoolean()],//isAnonymous
checkForErrors,
createCheckoutSession
我如何在一个字段中验证另一个字段的值,并基于此将其设为可选。
提前致谢
您可以使用 if condition 来处理这种情况。条件是 isAnonymous
不是 true
然后执行另一个检查 displayName
router
.route("/create-checkout-session")
.post(
[
check("displayName")
.if((value, { req }) => { // if isAnonymous : false then let's check
return !req.body.isAnonymous;
})
.matches(vars.intlRegex)
.trim()
.escape()
.withMessage("Please provide a display name")
check("isAnonymous").isBoolean()
],
checkForErrors,
createCheckoutSession
如果单击 Anonymous
复选框,我正在尝试使用户的 Display Name
可选。
为此,我正在使用 express-validator
。
检查以下代码:
router
.route("/create-checkout-session")
.post(
[
check("displayName") //if isAnonymous : true than this is optional
.matches(vars.intlRegex)
.trim()
.escape()
.withMessage("Please provide a display name")
.optional({ checkFalsy: true }),
check("isAnonymous").isBoolean()],//isAnonymous
checkForErrors,
createCheckoutSession
我如何在一个字段中验证另一个字段的值,并基于此将其设为可选。
提前致谢
您可以使用 if condition 来处理这种情况。条件是 isAnonymous
不是 true
然后执行另一个检查 displayName
router
.route("/create-checkout-session")
.post(
[
check("displayName")
.if((value, { req }) => { // if isAnonymous : false then let's check
return !req.body.isAnonymous;
})
.matches(vars.intlRegex)
.trim()
.escape()
.withMessage("Please provide a display name")
check("isAnonymous").isBoolean()
],
checkForErrors,
createCheckoutSession