node.js - 如何使用 AdonisJS 验证号码

标签 node.js validation adonis.js

我正在使用 AdonisJS 4.1 进行项目,我在验证数字时遇到问题,这是我在 Controller 中的代码中的代码

const validation = await validate(request.all(), {
    posts_per_page: required|number|min:0
})

当我尝试用任何大于 0 的数字填充表单字段时,它总是给出如下错误消息:

number validation failed on posts_per_page

任何有关解决此问题的帮助将不胜感激,谢谢。

最佳答案

这里的主要问题是,默认情况下 HTML 表单会将所有字段作为字符串发送。您需要先对其进行 sanitizer using the sanitizer :

const { sanitize } = use('Validator')

const data = sanitize(request.all(), {
  posts_per_page: 'to_int',
})

然后您将能够使用 data 而不是 request.all() 进行验证。

此外,请注意,出于安全原因,您应该使用 request.only() 而不是 request.all()

关于node.js - 如何使用 AdonisJS 验证号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51669858/

相关文章:

javascript - 如何通过从另一个进程提供参数来执行文件

yarnpkg - yarn 全局安装 : "adonis: command not found"

javascript - 带有 while 循环的 NodeJS 结束事件

javascript - Nodejs Promise 有更好的方法来处理 Promise 实现中发生的错误吗?

angularjs - 使用来自node.js的angularjs中的json数据作为后端和sql数据库

node.js - Nunjucks: 'if' 与多个 'and' 或 'or' 条件

node.js - 在Adonis.js中为什么refreshToken为空?

javascript - 焦点事件监听器未触发不可编辑的输入

java - 在 Spring 中为 MethodArgumentNotValidException 添加参数到 @ExceptionHandler

PHP:电话号码解析