我有一个从Request
类扩展来定制我的验证规则的文件,在该文件中,我验证了一个具有最大大小和文件名特定长度的文件类型字段。为了更简单地尝试使用
php artisan tinker
您可以重现该错误:
Validator::make(['file' => Illuminate\Http\UploadedFile::fake()
->create('page.pdf')],['file' => 'regex:/^.*$/'])->fails();
使用此代码,可以使用造假者动态生成一个要上传的文件,并指定一个特定的名称,然后进行验证并尝试检查文件是否失败。
所使用的正则表达式表示名称可以是具有开放尺寸的任何字符,没有限制。这应该返回false
,因为它不会失败。但是,它失败了。
要知道我对正则表达式是否满意,可以使用:
preg_match('/^.*$/', 'page.pdf');
在我的情况下,它返回1
表示它找到了匹配项,因为文档表明1是它找到了匹配项,0表示没有找到匹配项,并且错误地指出发生了错误。
在单元测试中使用regex
和Laravel验证UploadedFile时,我会怎么做?