1

Laravel でファイル入力にカスタム検証ルールを使用しようとしています。ファイル入力名は「写真」です。このファイル入力に「validate_art」というルールを適用しようとしています。「画像」検証ルールがあることは知っていますが、このファイル入力に独自のカスタマイズされたルールを適用したいと考えています。

コードは次のとおりです。

  $rules = array('name'=>'required|unique:user,name','startyear'=>'numeric','endyear'=>'numeric'
    ,'photo'=>'validate_art');
    Validator::extend('validate_art',function($attribute,$value,$parameters){
    // returning false just for testing purpose
    return false;
    });

何が起こるかというと、ルールはフィールドにまったく適用されません。このルールをテスト目的で他のフィールドに使用しようとすると、失敗せずに機能します。私は何か間違ったことをしていますか?または、ファイル入力にカスタム検証を適用できませんか? 誰か、これに光を当ててください。本当に感謝しています。

4

1 に答える 1

0

まず、入力データを変更する必要があります

    foreach ($inputs as $k=>$input){
        if($input instanceOf \Symfony\Component\HttpFoundation\File\UploadedFile)
            $inputs[$k]=$_FILES[$k];
    }

次に、$input をバリデーターに送信します$validator=Validator::make($input,$rules)

于 2016-03-01T08:05:33.500 に答える