我有一个像这样的数组
settings: [
{ key: 'maxImageSize', value: '512' },
{ key: 'maxFileSize', value: '2048' },
{ key: 'searchResultsLimit', value: '10' },
]
我想在将每个键保存到数据库之前验证它们的值。
:searchResultsLimit
应大于1,但不能超过20。
我使用Objection.js
和express-validator
。
谢谢。
这个函数根据数组是否有效返回一个布尔值。
function myValidate(settings) {
try {
settings.map((setting) => {
if (validator.toInt(setting.value) <= 1 || validator.toInt(setting.value) >= 20) {
console.log(setting.value);
throw new Error("Invalid");
}
});
} catch (e) {
console.log(e.message);
return false;
}
return true;
}
证明validator.js没有提供验证器来检查数字是否在范围内。详情请访问https://github.com/validatorjs/validator.js/issues/330。
如果您只想忽略无效的项,您可以使用filter方法来获取所需范围内的项。