gpt4 book ai didi

javascript - 快速验证器如何仅在存在另一个字段时才需要该字段

转载 作者:行者123 更新时间:2023-12-04 08:46:01 25 4
gpt4 key购买 nike

快速验证器,如何仅在存在另一个字段时才需要该字段?

const validateUpdateStore = () => {
return [
body('logo').optional().isURL().withMessage('invalid url'),
body('email')
.optional()
.isEmail()
.withMessage('email is invalid')
.trim()
.escape(),
body('phone').optional().isInt().withMessage('integers only!'),
body('account_number').optional().isInt().withMessage('integers only!'),
body('bank_code').optional().isInt().withMessage('integers only!'),
];
};
我想做这个领域 bank_code仅当 account_number 时需要提供,反之亦然

最佳答案

版本 6.1.0express-validator添加了对条件验证器的支持。我目前没有在文档中看到它,但有一个 pull request更多信息。看起来您应该能够如下定义您的验证:

const validateUpdateStore = () => {
return [
body('logo').optional().isURL().withMessage('invalid url'),
body('email')
.optional()
.isEmail()
.withMessage('email is invalid')
.trim()
.escape(),
body('phone').optional().isInt().withMessage('integers only!'),
body('account_number')
.if(body('bank_code').exists()) // if bank code provided
.not().empty() // then account number is also required
.isInt() // along with the rest of the validation
.withMessage('integers only!')
,
body('bank_code')
.if(body('account_number').exists()) // if account number provided
.not().empty() // then bank code is also required
.isInt() // along with the rest of the validation
.withMessage('integers only!')
,
];
};

关于javascript - 快速验证器如何仅在存在另一个字段时才需要该字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64319368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com