node.js - 如何使用 AdonisJS 验证号码
问题描述
我正在使用 AdonisJS 4.1 进行项目,我在验证号码时遇到问题,这是我在控制器代码中的代码
const validation = await validate(request.all(), {
posts_per_page: required|number|min:0
})
当我尝试用任何大于 0 的数字填充表单字段时,它总是给出如下错误消息:
number validation failed on posts_per_page
任何有关解决此问题的帮助将不胜感激,谢谢。
解决方案
这里的主要问题是,默认情况下,HTML 表单会将所有字段作为字符串发送。您需要先使用sanitizer 对它们进行消毒:
const { sanitize } = use('Validator')
const data = sanitize(request.all(), {
posts_per_page: 'to_int',
})
然后您将能够使用data
而不是request.all()
进行验证。
此外,请记下您应该使用的笔记,request.only()
而不是request.all()
出于安全原因。
推荐阅读
- node.js - NodeJS - PostgreSQL - 池不在文件之间共享
- node.js - 通过vbs脚本向word文档添加多个脚注
- html - 移动导航问题
- c# - 平局后如何拿起第四张牌?
- snowflake-cloud-data-platform - 从 MySQL 加载到雪花表的最佳数据格式(列的 JSON 或 XML)
- python - 在python中使用Wget从github下载二进制文件
- android - Flutter Universal 链接从应用内浏览器启动
- firebase - Firestore安全规则:根据父文档权限查询子集合
- firebase - 未找到 Flutter.h
- c - 字符串长度函数不稳定