Laravel 5.8在验证规则中使用数组

时间:2019-09-24 08:47:28

标签: php laravel

我有一个看起来像这样的数组:

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

我想在我的验证规则中使用该数组,如下所示:

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

但这不起作用,我是否需要将其编码为字符串或其他内容?

3 个答案:

答案 0 :(得分:6)

您要implode数组。它应该看起来像这样:

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

转换将获取数组的所有值,并使用第一个参数(在本例中为,)将它们粘合在一起,从而为您提供数组中由,字符分隔的值字符串。

答案 1 :(得分:2)

使用此

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

答案 2 :(得分:1)

您可以使用这种简单代码:

 $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);

正在尝试这个。.....