近期在写ThinkPHP8时遇到了一个问题,就是我在新增时没有限制id,但是他却响应我id不能为空,后面发现是ThinkPHP8加了校验器。
bug出现
详细代码
当我去底层看的时候发现了问题所在
在model
类的save
方法中多了一层校验
在validateAndFilterData
方法中调用validate
方法
在validate
方法中,获取了配置项中的validate
在model
类中发现改配置项默认值为parseValidate
方法获取的值
默认值为model
类的命名空间把model换成validate
当model层命名空间为
namespace app\model;
默认的validate层命名空间就为
namespace app\validate;
修复bug
在model层中设置validate
为空字符串就可以了