克隆和修改 `express-validator` 链
Clone and modify `express-validator` chains
如何在不影响原始链的情况下克隆 express-validator
链并使其成为可选链?例如,考虑这个例子:
var checkPassword = body('password').trim().isLength({min: 10});
var checkPasswordOptional = checkPassword.optional();
// Creates an account.
router.post('/accounts', checkPassword, createAccount);
// Updates an account. Only provided fields are updated.
router.put('/accounts/:id', checkPasswordOptional, updateAccount);
但是有了这个,checkPassword
和 checkPasswordOptional
都成为可选的。
目前尚不支持克隆链。
但是,您可以使用工厂函数来多次生成相同的验证器链:
const createPasswordCheck = () => body('password').trim().isLength({ min: 10 });
// Uses the default password validation chain
router.post('/accounts', createPasswordCheck(), createAccount);
// In addition to the default set of password validations,
// updating an account also makes it optional.
router.put('/accounts/:id', createPasswordCheck().optional(), updateAccount);
免责声明:这里是 express-validator 维护者。
如何在不影响原始链的情况下克隆 express-validator
链并使其成为可选链?例如,考虑这个例子:
var checkPassword = body('password').trim().isLength({min: 10});
var checkPasswordOptional = checkPassword.optional();
// Creates an account.
router.post('/accounts', checkPassword, createAccount);
// Updates an account. Only provided fields are updated.
router.put('/accounts/:id', checkPasswordOptional, updateAccount);
但是有了这个,checkPassword
和 checkPasswordOptional
都成为可选的。
目前尚不支持克隆链。
但是,您可以使用工厂函数来多次生成相同的验证器链:
const createPasswordCheck = () => body('password').trim().isLength({ min: 10 });
// Uses the default password validation chain
router.post('/accounts', createPasswordCheck(), createAccount);
// In addition to the default set of password validations,
// updating an account also makes it optional.
router.put('/accounts/:id', createPasswordCheck().optional(), updateAccount);
免责声明:这里是 express-validator 维护者。