13 أساسيات Laravel 11: التحقق من الصحة

تعلم أساسيات التحقق من الصحة في Laravel 11 وعزز مهاراتك في التطوير مع أمثلة عملية وأفضل الممارسات.
تعريف المسارات
أولاً، لنفترض أن لدينا المسارات التالية محددة في ملف routes/web.php:
use App\Http\Controllers\PostController;
Route::get('/post/create', [PostController::class, 'create']);
Route::post('/post', [PostController::class, 'store']);يعرض مسار GET نموذجاً للمستخدم لإنشاء منشور مدونة جديد، بينما يخزن مسار POST منشور المدونة الجديد في قاعدة البيانات.
إنشاء المتحكم
بعد ذلك، لنلق نظرة على متحكم بسيط يتعامل مع الطلبات الواردة لهذه المسارات. سنترك طريقة store فارغة الآن:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\RedirectResponse;
class PostController extends Controller
{
public function create()
{
return view('post.create');
}
public function store(Request $request): RedirectResponse
{
// سيكون منطق التحقق هنا
}
}كتابة منطق التحقق
الآن نحن مستعدون لملء طريقة store بالمنطق للتحقق من صحة منشور المدونة الجديد. للقيام بذلك، سنستخدم طريقة validate المقدمة من كائن Illuminate\Http\Request:
public function store(Request $request): RedirectResponse
{
$validated = $request->validate([
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);
// منشور المدونة صالح...
return redirect('/posts');
}كما ترى، يتم تمرير قواعد التحقق إلى طريقة validate. إذا فشل التحقق، سيتم طرح Illuminate\Validation\ValidationException، وسيتم إرسال استجابة الخطأ المناسبة تلقائياً إلى المستخدم.
عرض أخطاء التحقق
إذاً، ماذا لو لم تجتاز حقول الطلب الوارد قواعد التحقق المحددة؟ سيقوم Laravel تلقائياً بإعادة توجيه المستخدم إلى موقعه السابق وسيتم تمرير جميع أخطاء التحقق ومدخلات الطلب إلى الجلسة. يتم مشاركة متغير $errors مع جميع العروض، مما يتيح لك عرض رسائل الخطأ بسهولة:
<!-- resources/views/post/create.blade.php -->
@if ($errors->any())
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endifالتحقق من خلال طلب النموذج
لسيناريوهات التحقق الأكثر تعقيداً، قد ترغب في إنشاء "طلب نموذج". طلبات النموذج هي فئات طلب مخصصة تغلف منطق التحقق والتفويض الخاص بها:
php artisan make:request StorePostRequestسيتم وضع فئة طلب النموذج المولدة في دليل app/Http/Requests. كل طلب نموذج له طريقتان: authorize و rules.
تخصيص رسائل الخطأ
كل قاعدة تحقق مدمجة في Laravel لها رسالة خطأ موجودة في ملف lang/en/validation.php في تطبيقك. يمكنك تغيير أو تعديل هذه الرسائل بناءً على احتياجات تطبيقك. على سبيل المثال:
public function messages(): array
{
return [
'title.required' => 'العنوان مطلوب',
'body.required' => 'الرسالة مطلوبة',
];
}تحديد سمات مخصصة
لاستبدال العنصر النائب :attribute في رسائل التحقق بأسماء سمات مخصصة، يمكنك تحديد أسماء مخصصة في طريقة attributes:
public function attributes(): array
{
return [
'email' => 'عنوان البريد الإلكتروني',
];
}الخاتمة
يوفر Laravel 11 ميزات تحقق قوية ومرنة تساعد في ضمان سلامة بيانات تطبيقك. من خلال إتقان تقنيات التحقق هذه، يمكنك بناء تطبيقات ويب قوية وموثوقة.
لمزيد من المعلومات التفصيلية، راجع توثيق التحقق الرسمي في Laravel 11.
ناقش مشروعك معنا
نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.
دعنا نجد أفضل الحلول لاحتياجاتك.
مقالات ذات صلة

15 أساسيات Laravel 11: التسجيل
تعلم أساسيات التسجيل في Laravel 11. يغطي هذا الدرس التكوين وكتابة رسائل السجل وتخصيص قنوات السجل.

البدء مع Laravel 11: التثبيت والتكوين وهيكل المجلدات
البدء مع Laravel 11: التثبيت والتكوين وهيكل المجلدات

5 أساسيات Laravel 11: Controllers
دليل تعليمي حول أساسيات التحكم في Laravel 11، مناسب للمطورين من جميع المستويات.