如果单击匿名
复选框,我会尝试将用户的显示名称
设置为可选。
为此,我使用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
关于javascript - Express-validator:如果其他字段值为 true,则使字段可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68498675/