我已经验证:
public function saveUser($request)
{
// validacja
$this->validate($request, [
'name' => 'required|string',
'surname' => 'required|string',
'email' => 'required|email'
]);
if ($request->hasFile('userPicture')) {
$this->validate($request, [
'userPicture' => 'image|max:1000'
]);
}
// save
}
我需要添加此验证:
'userPicture' => 'image|max:1000'
我该怎么做?
答案 0 :(得分:1)
那又怎么样:
'userPicture' => 'max:1000|mime:image/jpeg'
文档指出您可以使用以下mime类型: https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
image / jpeg 允许: image / jpeg-jpeg jpg jpe
答案 1 :(得分:0)
根据您的Laravel版本,有一些不同的方法。
https://laravel.com/docs/5.8/validation#rule-image https://laravel.com/docs/5.8/validation#rule-dimensions
答案 2 :(得分:0)
Mime是您需要设置的文件类型规则。
因此,您可以先创建规则数组,然后进行验证:
public function saveUser($request)
{
// validacja
$rules = [
'name' => 'required|string',
'surname' => 'required|string',
'email' => 'required|email'
];
if ($request->hasFile('userPicture')) {
$rules['userPicture'] = 'image|max:1000|mimes:jpeg'
}
$this->validate($request, $rules);
// save
}