私は現在、フォームで作業しています。Laravel複数ファイルアップロードの確認
私は複数のファイルのアップロードの検証に問題があります。私は、複数のファイルをアップロードできる形式のフィールドを1つしか持たない。
<input type="file" name="file[]" multiple="multiple">
そして、これは私の検証で、
$this->validate($request, [
'file' =>'required',
'file.*' => 'required|mimes:pdf,jpeg,png |max:4096',
],
$messages = [
'mimes' => 'Only PDF, JPEG, PNG are allowed.'
]
);
検証は完璧に動作しますが、私は、ブレード・ファイルでエラーメッセージを表示することはできませんよ。
ここに私の試みがあります。
@if($errors->has('file'))
<span class="help-block">
<strong>{{$errors->first('file')}}</strong>
</span>
@endif
ファイルがアップロードされていないとエラーを表示します。
と仮定私がアップロードした以下のファイルは、
パントマイムタイプの検証がエラーをスローabc.jpg
abc.html
abc.pdf
私は、エラーメッセージを表示することはできませんよ。検証は、インデックス1
で失敗したので、 はここで、この場合は、エラーがこのインデックスは、アップロードと$error->first(file.*)
は同様に動作しないファイルに応じて任意の指標となる$error->first(file.1)
としてスローされます。
フォームからのみ無効なファイルを追加した後にすべてのエラーを表示すると、これらのエラーが発生します。
Only PDF, JPEG, PNG are allowed.
The type field is required.
The number field is required.
The expiry date field is required.
いずれかがこれについて考えています。どんな助けもありがとうございます。
ありがとう、
。このエラーを与える**未定義オフセット:0 ** –
これをお読みください、それは間違いなくあなたの問題を解決します。 –
https://laracasts.com/discuss/channels/general-discussion/array-validation-is-not-working/replies/125729 –