php - Laravel file validation - how fix "variable is immediately overridden"
Get the solution ↓↓↓I make project in Laravel. I make this code to validation file size and format:
class KnowledgeBaseMovieRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
$id = $this->route('knowledge_base_movie');
$rules = [
'name' => ['required', 'max:255'],
];
if (empty($id)) {
$rules['movie'] = ['file', 'required', 'max:200000'];
$rules['movie'] = ['file', 'max:20000', new Mp4File];
}
return $rules;
}
}
class Mp4File implements Rule {
const MIMES = [
'video/mp4'
];
const EXT = 'mp4';
public function passes($attribute, $file) {
return in_array($file->getClientMimeType(), self::MIMES) && $file->getClientOriginalExtension() === self::EXT;
}
public function message() {
return ':attribute musi być plikiem .mp4.';
}
}
I need file in max size 200000 and in format mp4.
In tjis line:
$rules['movie'] = ['file', 'required', 'max:200000'];
$rules['movie'] = ['file', 'max:20000', new Mp4File];
I have "$rules['movie'] is immediately overridden"
How can I fix it?
Answer
Solution:
Just group all your rules in one time variable :
$rules['movie'] = ['file', 'required', 'max:200000', new Mp4File];
Why do you want to have 2 lines for the same index ?
Share solution ↓
Additional Information:
Link To Answer People are also looking for solutions of the problem: can't write image data to path
Didn't find the answer?
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Similar questions
Find the answer in similar questions on our website.
Write quick answer
Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.