2017-05-30 6 views
1

ファイル入力フィールドに対してのみ単一検証ルールが使用されています。それはmimesのルールです。ファイルがアップロードされていない場合はこのルールをスキップしたいので、「必須」ルールを使用していません。しかし、ファイルがアップロードされていなくても常にMIMEタイプのメッセージを表示しています。テストのために必要なルールを追加しました。その時、必要なエラーメッセージが表示されました。この問題は、jquery.form.jsを使用してajaxを使用してフォームを送信する場合にのみ発生します。入力ファイルがアップロードされていない場合でも、Laravel mimes検証は常に呼び出されます(使用されない必須ルール)

+0

をより多くのを確認することができます。 – Sandeesh

答えて

1

検証タイプはsometimesです。いくつかの状況では、存在する場合

を検証

'file' => 'sometimes|mimes:jpeg,png' 

、あなたはそのフィールドは、入力配列中に存在する場合にのみ、フィールドに対して検証チェックを実行したいことがあります。これをすばやく実行するには、ルールリストに時系列ルールを追加します。

Official Laravel docs

1

あなたはsometimesルールを使用することができます。

'photo' => 'sometimes|mimes:jpeg,bmp,png' 

あなたは `自分のルールにsometimes`を追加します。ここではそれについてhttps://laravel.com/docs/5.4/validation#conditionally-adding-rules

+0

私のフォームでまだ動作していません。私は、問題は、jquery.form jsを使ってajaxフォームのサブミッションを使うときだと思います –

関連する問題