2017-05-05 25 views
0

Laravel私は複雑な検証をしようとした5.4「複雑な条件の検証」

"algunTexto"  => "required" , 
"archivo_texto"  => "required_if:algunTexto,si|file|mimes:doc,docx,pages,txt|max:10000" , 

要求がファイルは、「ドキュメントでなければならないエラーを返していましたので、それはDOCX、働いていませんでした、等。入力ファイルである必要がありますので、私は今bail

"archivo_texto"  => "bail|required_if:algunTexto,si|file|mimes:doc,docx,pages,txt|max:10000" , 

を追加しようとすることを決めた「DOC、DOCX」エラーが表示されて、もはやだったが、入力がファイルである必要があり、他の一つはそこにまだありました。

私は研究を行い、これを使用して終了:

$data = $request->all(); 
    $validator = validator($data, 
     [ 
      'archivo_texto' => 'required_if:algunTexto,si' 
     ] 
    ); 
    $res = $validator->sometimes('archivo_texto', 'file|mimes:doc,docx,pages,txt|max:10000', function($data){ 
     return $data->algunTexto == 'si'; 
    }); 

しかし、今、「algunTexto」という名前のラジオボタンは「SI」に等しい、と私は「archivo_texto」上の任意のファイルをアップロードしていない場合でも、 、私は間違いがない。

私は間違っていますか?

答えて

1

今では私が作った最後のattempと連携し、私はこれらの行を逃した:

if($validator->fails()){ 
    return back()->withErrors($validator); 
} 

私はそれだけで要求し、申し訳ありませんのようなエラーが発生して自動的に戻るだろうと思いました。

関連する問題