【发布时间】:2021-04-13 17:16:48
【问题描述】:
有没有办法创建一个验证器方法以在不同的地方重用?
目前,我有一个带有一些逻辑的自定义验证器,但我在其他验证器上重复该逻辑,我想知道是否有办法创建自定义方法以避免重复这样的代码。
这就是我在一些验证器中所拥有的:
const exampleValidator = [
body().custom((value) => {
allowed = ['param1', 'param2', 'param3', ...];
/**
bunch of logic to allow certain fields...
*/
}),
body('parameter', 'invalid parameter provided').isEmpty()
];
注意:此自定义验证器仅允许在请求中发送某些字段。给定一个数组,自定义验证器检查是否发送 request 只包含允许的字段。
我想要什么:我想知道是否有一种方法可以创建一个自定义验证器来获得这样的东西:
const exampleValidator = [
body().allowCertainFields(['field1', 'field2']),
body('parameter', 'invalid parameter provided').isEmpty()
];
如果有办法,我不知道在哪里可以创建这个allowCertainFields() 自定义方法无需修改 express-validator 的任何核心文件。
因为另一种方法是这样做:
const exampleValidator = [
body().custom((value) => {
allowed = ['param1', 'param2'];
return allowCertainFields(value, allowed);
}),
body('parameter', 'invalid parameter provided').isEmpty()
];
但首先我想知道我想做的事情是否可行。
【问题讨论】:
标签: javascript express-validator