لارافيل Validation - الجزء التاسع - ip4, ipv6, json, active_url, bail, uuid

لارافيل Validation - الجزء التاسع - ip4, ipv6, json, active_url, bail, uuid

2024-11-24 وقت القراءه : 2 دقائق

ip

تستخدم للتحقق أن المدخل أنه ipv4

$request->validate([
    'ip'=>'required|ipv4',
]);


ipv6

تستخدم للتحقق أن المدخل أنه ipv6 

$request->validate([
    'ip'=>'required|ipv6',
]);

أما في حال أردنا الدمج بين النوعين، إما أن يكون ipv4 أو ipv6 نستخدم ip

$request->validate([
    'ip'=>'required|ip',
]);


json

تستخدم للتأكد من أن المدخلات على شكل json

$request->validate([
    'json_data'=>'required|json',
]);


active url

تستخدم للتأكد من أن الرابط الذي تم إدخاله فعال أم لا، مثلا لو كان لدينا حقل لإدخال رابط الموقع، ونريد التحقق من أن الرابط موجود نستخدم الدالة active_url

لفرض لدي الفورم التالي لإدخال رابط الموقع

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

للتحقق نستخدم

$request->validate([
    'website'=>'required|active_url',
]);

وإذا كان الرابط غير موجود سوف يعطي الخطأ التالي



bail


لفرض أن لدي حقل، يتم تطبيق عليه أكثر من دالة validation  ( required|integer|min:5|max:10) وكانت القيمة التي تم إدخالها مثلا 100 فإنه سيتم إرجاع رسالتين واحده ان الررقم يجب ان يكون أأكبر من 5 والرسالة الأخرى ان الرقم يجب ان يكون أقل من 10 ، لكن ماذا لو أردنا أن يتوقف عن أول حالة غير مطابقة وأن لا يكمل الحالات الأخرى.

هنا يتم إستخدام bail

$request->validate([
    'score'=>'bail|required|integer|min:5,max:10',
]);


uuid

تستخدم للتحقق من أن المدخل من نوع  Universal Unique id وهو على الشكل التالي 

a8445626-0995-11ec-9a03-0242ac130003

$request->validate([
    'uuid'=>'required|uuid',
]);



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