Laravel 5.8 использует массив в правиле валидации - PullRequest
2 голосов
/ 24 сентября 2019

У меня есть массив, который выглядит следующим образом:

array:2 [
  0 => "text/csv"
  1 => "text/plain"
]

Я хочу использовать этот массив в своем правиле проверки следующим образом:

return [
    'file' => 'mimetypes:' . $array,
];

Но это не работает, сделайтеМне нужно закодировать его в строку или что-то?

Ответы [ 3 ]

6 голосов
/ 24 сентября 2019

Вы хотите взорвать массив.Это должно выглядеть следующим образом:

return [
    'file' => 'mimetypes:' . implode(',', $array),
];

При имплозировании будут взяты все значения массива и склеены их вместе с использованием первого аргумента, в данном случае ,, что даст вам строку значений из массиваразделены символом ,.

2 голосов
/ 24 сентября 2019

Используйте это

return [
    'file' => 'mimetypes:' . implode(',', $array)
];
1 голос
/ 24 сентября 2019

Вы можете использовать этот простой код:

 $file_rules = ["text/csv","text/plain"];

    $rules = [
        'username' => 'required',
        'city'      =>  'required',
        'profile_image' => 'mimes:$file_rules' // otherwise  'mimes:'.implode(',', $file_rules)
    ];
    $messages = [
        'username'    => 'The :attribute shoud be Required.',
        'city'    => 'The :attribute should be required.',
        'profile_image' => 'The :attribute should be Required.',
    ];

    $validator = Validator::make($request->all(), $rules, $messages);

работает, попробуйте этот .....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...