Men*_*eld 2 javascript node.js express express-validator
如果单击该复选框,我会尝试将Display Name用户的 设为可选。Anonymous
为此,我正在使用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
Run Code Online (Sandbox Code Playgroud)
如何在一个字段中验证另一字段的值,并据此将其设为可选。
提前致谢
您可以使用if 条件来处理这种情况。条件是当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
Run Code Online (Sandbox Code Playgroud)