知识分类
后端
前端
设计
开源组件/产品
APP
其他
广告招募

在webman等第三方框架中使用TP的think-validate验证组件的问题

管理员
发布于:2024-02-28 11:22:39
导读:在使用webman等第三方框架结合TP的think-validate验证组件时,遇到integer和float规则报错,因filter_var函数在PHP8中要求第三个参数$options为array或int类型,但组件传了null。解决方法一是将相关代码中的$param=null改为$param=0;二是在验证规则后加“,0”,如'peak' => 'float,0'。TP框架本身已修复此问题。

在webman等第三方框架中使用TP的think-validate验证组件时发现,使用内置规则验证integer和float时间会报错,报错信息如下:

TypeError: filter_var(): Argument #3 ($options) must be of type array|int, null given

原因是integer和float采用了filter_var函数进行验证,而filter_var函数的第三个参数$options在php高版本(我使用的是php8)中已经明确必须是array或者int类型。

function filter_var(mixed $value, int $filter = FILTER_DEFAULT, array|int $options = 0)

而think-validate组件中给的确是null类型 如下截图:

解决方法如下:

第一种方案 :修改上图中的$param=null 变成$param=0

第二种方案:在验证规则后面加上“,0”:如:     'peak'       => 'float,0',

备注:直接使用TP框架没有这个问题,因为TP框架中已经修改了这个bug

关键词: webman TP think-validate
上一篇:windows下php8.2版本的redis扩展下载
下一篇:GO FYNE 如何让text/label文本换行
搜索内容
最新文章
  • 线程和协程的区别
  • 什么是敏捷式开发?
  • 什么是GEO生成式引擎优化?和SEO
  • 如何保证文件上传安全?
  • Go语言时间格式为什么和其他语言不一
  • 软件许可协议有哪些?之间的区别是什么
  • FrameCoder非可站群框架支持
  • git忽略文件.gitignore,
  • 什么AI模型上下文协议(MCP)?M
  • 为什么有些页面的图片看不见?可能是被
精彩文章
  • 1 MSYS2中安装使用GCC的正确方法
  • 2 vscode用一个插件快速生成Vue
  • 3 Layui 怎么样更换主题颜色?
  • 4 连接WIFI出现无Internet
  • 5 3步教你如何修改uniapp but
  • 6 OBS在银河麒麟或ubuntu等核心
  • 7 FrameCoder非可,基于web
  • 8 JavaScript 判断对象是否为
  • 9 小程序真机调试 报错 define
  • 10 什么是PHP站群以及使用php开源框
工信部备案:苏ICP备2023011827号-1
苏公网安备 32111202000338号