I have an with an array of image_file (image_file[1]
, image_file[2]
). They are input of type file.
This images are required only if another array of fields (proposition_type) is defined on 2.
For example :
- if
proposition_type[1] == 2
,image_file[1]
has to be filled ; - if
proposition_type[2] == 1
,image_file[2]
has not to be filled.
I have tried to use the following rules :
JavaScript
x
$rules = [
( )
'image_file.*' => 'required_if:proposition_type.*,2|image',
];
But any error on image_file fields is raised.
Moreover, I have used the required
validator on my image_file.*
and, here again, no error is raised.
Maybe someone has a solution for this? Or maybe am I doing something wrong? 🙂
Thanks!
Advertisement
Answer
So what I did finally was to generate (complete, to be precise) my rules array on the fly, by making a while
, and adding an array entry for each images.
JavaScript
$i = 1;
$total_images = count($image_array);
while ($i <= $image_array)
{
$this->rules['image_file.'.$i] = 'nullable|required_if:proposition_type.'.$i.',2|image';
$i++;
}
This, of course, need your form to have inputs with image_file1
, image_file2
, … names.
Hope it will help others!