2016-09-29 4 views
0

私は画像をアップロードするファイル入力ボックスを使用しているユーザー登録フォームを持っています。 問題は、アップロードするビデオファイルを選択すると、ValidateRequestを渡します。laravelのValidateRequestを使用してアップロードする厳格なビデオファイルへの方法

class UserValidateRequest extends Request { 

public function __construct() { 

} 

protected $messages = [ 
    'required.password' => 'We need to know your e-mail address!', 
]; 
protected $rules = [  
    'first_name' => 'required|regex:"[a-zA-Z 0-9]"', 
    'last_name' => 'regex:"[a-zA-Z 0-9]"', 
    'image' => ' mimes:jpeg,jpg,png,gif |max:2048',   
]; 

/** 
* Determine if the user is authorized to make this request. 
* 
* @return bool 
*/ 
public function authorize() { 
    return true; 
} 

public function messages() { 
    return [ 
     'password.regex' => 'Password shall be 8-20 characters, must have a number and an alphabet',   , 
     'image.mimes' => 'Upload Gif || JPG || JPEG || PNG Images Only' 
    ]; 
} 

    public function attributes() { 
     return[]; 
    } 

} 

答えて

2

代わりにMIMEタイプの検証を使用しての、画像フィールドにimage validation ruleを追加しよう:私はちょうどあなたとして試み

'image' => 'image|max:2048'   
+0

はのvalidateRequestでは、私はすでに画像のルールを定義し、以下のコードでありますこのエラーが発生したことを知っています: ファイル "enrique_jordan.mp4"がupload_max_filesize ini指令を超えています(制限は2048 KiBです)。 このエラーにはクラッシュページがあります。 画像の画像の検証とサイズの検証でクラッシュする理由を理解できません。 –

+0

upload_max_filesizeは、内容に関係なくアップロードされるファイルの最大サイズを制限するphp.iniディレクティブです。あなたのファイルが指定された値より大きい場合、チェックは完了しません。PHPは単にエラーをスローします。したがって、検証の前に、upload_max_filesizeが、アップロードしようとしているファイルのサイズよりも大きな値に設定されていることを確認する必要があります。 – Anton

+0

ありがとう..働いています。 –

関連する問題