لارافيل Validation - الجزء العاشر - التحقق من الملفات (file, image, dimensions, memes, size, mimetypes)

لارافيل Validation - الجزء العاشر - التحقق من الملفات (file, image, dimensions, memes, size, mimetypes)

2024-05-14 وقت القراءه : 2 دقائق

file

تعني أن حقل الإدخال يجب ان تكون من نوع file.



image

تستخدم للتحقق أن الملف المرفوع عبارة عن صوره

لفرض لدينا الفورم التالي لرفع الملفات

<form enctype="multipart/form-data" action="{{route('validation.store')}}" method="POST">
    @csrf
    <div class="container">
        @error('upload')
            <div class="alert alert-danger">{{$message}}</div>
        @enderror
        <input type="file" name="upload" class="form-control"/>
        <button type="submit" class="btn btn-primary">Add</button>
    </div>
</form>

للتحقق أن الملف المرفوع من نوع صوره، وأن حقل الإدخال من نوع file

$request->validate([
    'upload'=>'required|file|image',
]);


dimensions

تستخدم للتحكم في أبعاد الصوره

$request->validate([
    'upload'=>'required|file|image|dimensions:width=250,height=250',
]);

هنا يجب ان تكون الصوره بطول 250 و عرض 250


أما إذا أردنا تحديد الطول الأقل والعرض الأقل نستخدم min_width, min_height

$request->validate([
    'upload'=>'required|file|image|dimensions:min_width=250,min_height=250,max_width=400,max_height=400',
]);


mimes

تستخدم لتحديد أنواع معينة من الصور، مثلا إذا كنا نريد jpg و png

$request->validate([
    'upload'=>'required|file|image|mimes:jpg,png',
]);


size

تستخدم لتحديد حجم الصوره

$request->validate([
    'upload'=>'required|file|image|mimes:jpg,png|size:3000',
]);

أما إذا أردنا تحديد الحجم ( من - إلى)، بمعنى الحجم الأقل والحجم الأكبر

$request->validate([
    'upload'=>'required|file|image|mimes:jpg,png|min:100,max:3000',
]);


mimetypes

تستخدم للتحقق من نوع الملف مثلا إذا أردنا أن يتم رفع pdf,mp3

$request->validate([
    'upload'=>'required|file|mimetypes:application/pdf,audio/mpeg',
]);



إضافة تعليق
Loading...