2016-09-13 1 views
2

J'ai une entrée de fichier dans Laravel et je voudrais seulement autoriser les images ou pdf. Comment est-ce que je fais ceci dans la validation de contrôleur?Laravel validation permettre image ou pdf

$validator = Validator::make($request->all(), [ 
    'image' => 'image', 
]); 

Répondre

5

Vous devriez plutôt make a MIME type validation:

$validator = Validator::make($request->all(), [ 
    'image' => 'mimes:jpeg,bmp,png,gif,svg,pdf', 
]); 
+0

sont-ils tous les mimes de l'image? –

+0

La règle de validation d'image Laravel est la suivante: "Le fichier en cours de validation doit être une image (jpeg, png, bmp, gif, ou svg)" – Hammerbot

0

Vous pouvez valider comme ci-dessous pour les différents types MIME:

$allowed_mimes = [ 
     image/gif, 
     image/png, 
     image/jpeg, 
     image/bmp, 
     image/webp, 
     application/octet-stream, application/pkcs12, 
     application/vnd.mspowerpoint, 
     application/xhtml+xml, 
     application/xml, 
     application/pdf 
    ]; 

$validator = Validator::make($request->all(), [ 
    'image' => $allowed_mimes, 
]); 

Voir this.