我正在使用 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/