gpt4 book ai didi

php - Laravel Multiple Validator Wrong 错误信息

转载 作者:可可西里 更新时间:2023-10-31 23:03:35 24 4
gpt4 key购买 nike

问题:当上传的文件超过 5000kb 时,验证器返回“required”消息而不是“max”消息。为什么?

$file = (Input::file('inputName'));
$fileValidator = Validator::make(
array('Field Name' => $file),
array('Field Name' => 'required|max:5000|mimes:jpeg,png,bmp')
);

if($fileValidator->fails()){
return $fileValidator->errors()->all(':message');
}

更新:这个问题尤其发生在 *.psd 文件的验证上。


更新 2:当我使用 var_dump($file) 时,我可以看到它;

object(Symfony\Component\HttpFoundation\File\UploadedFile)#9 (7) {
["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
bool(false)
["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
string(52) "4-47970_rsasecurityanalyticsevolutionofsiemebook.pdf"
["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
string(24) "application/octet-stream"
["size":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
int(0)
["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
int(1)
["pathName":"SplFileInfo":private]=>
string(0) ""
["fileName":"SplFileInfo":private]=>
string(0) ""
}

如您所见,pathName 和 fileName 看起来为空。这就是 laravel 返回所需消息的原因。这是新问题:为什么文件名是空的?

最佳答案

当您上传的文件超过允许的大小(最大帖子大小和最大上传大小)时,php 不会将其发送到服务器,这就是您的代码无法获取文件并通过 required 错误的原因。

转到您的 php.ini 并增加最大上传和最大帖子大小的限制。这应该可以解决您的问题。

你也可以通过 php 设置这些:

ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');

或者您可以为这些编辑您的 php.ini 文件:

post_max_size = 64M
upload_max_filesize = 64M

关于php - Laravel Multiple Validator Wrong 错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31912994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com