Validation, Regex, Custom Exceptions
هذا المعمل يوضح التحقق من المدخلات، استخدام Regular Expressions، إنشاء استثناء مخصص، وعرض رسائل خطأ واضحة للمستخدم.
النتيجة العملية
جرّب إدخال بيانات خاطئة:
مثلاً: بريد بدون @ أو رقم عضوية بدون MEM- حتى تظهر رسالة الخطأ.
الكود المطلوب عرضه في الفيديو
// Lab 12: التحقق من البيانات ومعالجة الأخطاء
class LabValidationException extends RuntimeException {}
try {
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
throw new LabValidationException('صيغة البريد الإلكتروني غير صحيحة.');
}
if (!preg_match('/^MEM-[0-9]{4}$/', $membershipId)) {
throw new LabValidationException('رقم العضوية يجب أن يكون مثل MEM-1001.');
}
if (!preg_match('/^(0[1-9]|1[0-2]):[0-5][0-9]\s?(AM|PM)$/i', $classTime)) {
throw new LabValidationException('وقت الحصة يجب أن يكون مثل 05:30 PM.');
}
} catch (LabValidationException $e) {
$error = $e->getMessage();
} catch (Throwable $e) {
$error = 'حدث خطأ غير متوقع.';
}