Bik*_*ku7 1 conditional-statements express express-validator
我用作handlebar page模板和nodejs后端。
condtional validation if (a < b)我想在网页上使用然后显示错误消息。但我无法这样做express-validators。
这是我下面的代码,我正在尝试它不起作用。我'lt'确实使用了 2 个字母关键字=,但它不起作用。
router.post('/addtasks', function(req, res, next) {
req.checkBody('topic', 'Empty Topic').notEmpty();
req.checkBody('website', 'Empty Website').notEmpty();
req.checkBody('words', 'Empty Words').notEmpty().isLength({ min: 3 }).isInt({ lt: 2000});
});
Run Code Online (Sandbox Code Playgroud)
他们first 2正在网页上抛出错误消息。但它3rd one不起作用。我还可以实现这一目标any other way 吗express package?谢谢!
编辑我正在尝试的内容:
router.post('/addtasks', function(req, res, next) {
req.checkBody('topic', 'Empty Topic').notEmpty();
req.checkBody('website', 'Empty Website').notEmpty();
var totalCount = 2000;
totalCount = totalCount - 500;
req.checkBody('words', 'Empty Words or Min. Words = 500 Required or either Word limit exceeded').notEmpty().isInt({ gt:500, lt: totalCount});
});
Run Code Online (Sandbox Code Playgroud)
在这里我想lt:动态地放置该值,该值每次都在变化而不是固定的。但这里并没有采取这一点。我需要一个合适的解决方案来解决这个问题。
Express-validator使用validator.js图书馆。
遵循其文档
您应该使用min和max属性
req.checkBody('words', 'Empty Words').notEmpty().isInt({ min:100, max: 2000});
Run Code Online (Sandbox Code Playgroud)
提炼 :
检查字符串是否为整数。
options 是一个对象,它可以包含键 min 和/或 max 以检查整数是否在边界内(例如 { min: 10, max: 99 })。options 还可以包含键allow_leading_zeroes,当设置为 false 时将不允许带有前导零的整数值(例如 {allow_leading_zeroes: false })。最后,选项可以包含键 gt 和/或 lt,它们将强制整数分别大于或小于所提供的值(例如,对于 1 到 4 之间的数字,使用 {gt: 1, lt: 4})。
| 归档时间: |
|
| 查看次数: |
7138 次 |
| 最近记录: |