لماذا يهم هذا الدرس؟
فهم التحقق والأخطاء واستخدامه بصورة صحيحة داخل مشروع App Router. توفر Forms وServer Actions مسار Mutation مباشرًا للخادم، لكن Validation وAuthorization وError Mapping وRevalidation تظل جزءًا من العقد.
كيف تفكر فيه؟
- في درس التحقق والأخطاء، النتيجة التي يجب أن تتحقق: Server Action ليس بديلًا عن التحقق والتفويض؛ أعد تطبيقهما داخل الحد الخادمي.
- في سياق التحقق والأخطاء، الخطر الذي يجب أن يبقى تحت السيطرة: استدعاء Server Action من Form لا يجعلها موثوقة؛ Client Input غير موثوق ويجب إعادة فحص الصلاحيات على الخادم.
- تطبيق التحقق والأخطاء: ابن Form تقوم Server Action الخاصة بها بالتحقق والتفويض والكتابة وإرجاع Field-level Error عند الفشل.
تطبيق عملي
في التطبيق الخاص بدرس التحقق والأخطاء: Server Action ليس بديلًا عن التحقق والتفويض؛ أعد تطبيقهما داخل الحد الخادمي.
actions.tstsx
'use server';
export async function createProject(formData: FormData) {
const name = String(formData.get('name') ?? '').trim();
if (!name) return { error: 'Name is required' };
await saveProject({ name });
return { ok: true };
}جرّب بنفسك
تمرين التحقق والأخطاء
ابن Form تقوم Server Action الخاصة بها بالتحقق والتفويض والكتابة وإرجاع Field-level Error عند الفشل.
- سجل النتيجة المتوقعة قبل التنفيذ
- اختبر حالة صحيحة وحالة فشل مرتبطة بالدرس
- اشرح في سطرين أين يوجد الحد المسؤول عن القرار
