javascript - 克隆并修改 `express-validator`链

标签 javascript 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);

但是有了这个,checkPasswordcheckPasswordOptional 都变成可选的。

最佳答案

尚不支持克隆链。

但是,您可以使用工厂函数来根据需要多次生成相同的验证器链:

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维护者。

关于javascript - 克隆并修改 `express-validator`链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48406978/

相关文章:

javascript - 将每个字母更改为大写并将其括在括号中

javascript - 为什么我在 UI 中没有收到验证 Flash 消息,我收到这样的 Flash 错误 [object Object],[object Object],[object Object]

node.js - Express-Validator 中的验证

validation - 快速验证器 : How to validate "start date" is before "end date"

html - 如何使用 express-validator 验证字符的长度是否等于 5?

javascript - 将函数从 HOC 传递到组件(React、React native)

javascript - onclick 在 div 内滚动

javascript - 如何检查JS文件是否加载完成?

javascript - R 中的 Highcharts 依赖轮