0Pricing
TypeScript Academy · درس

التحقق وقت التشغيل باستخدام Zod

تحققوا من أنواع استجابات API واستنتجوها باستخدام مخططات Zod

التحقق وقت التشغيل باستخدام Zod درس مجاني في TypeScript Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في TypeScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة TypeScript Academy 4 دروس في المجموع.

مرحبًا

Zod مكتبة للتحقق من مخططات البيانات، تركز على TypeScript وتستنتج الأنواع من المخططات، مما يوفر تحققًا وقت التشغيل وأنواعًا وقت الترجمة.

تثبيت Zod

ثبّت Zod في مشروعك.
npm install zod

مخطط أساسي

عرّف مخططًا واستنتج نوع TypeScript الخاص به.
import { z } from 'zod';
const UserSchema = z.object({
  id: z.number(),
  name: z.string(),
  email: z.string().email(),
});
type User = z.infer<typeof UserSchema>;

تحليل البيانات

استخدم schema.parse() للتحقق. فهي تطرح استثناءً عند الفشل.
const user = UserSchema.parse({ id: 1, name: 'Alice', email: 'a@b.com' });
// user is typed as User

التحليل الآمن

استخدم safeParse() للحصول على الأخطاء كقيم بدلًا من طرحها.
const result = UserSchema.safeParse(unknownData);
if (result.success) {
  console.log(result.data); // User
} else {
  console.log(result.error.issues);
}

مخططات المصفوفات والكائنات

أنشئ مخططات معقدة باستخدام z.array وz.object.
const UsersSchema = z.array(UserSchema);
const CreateUserSchema = UserSchema.omit({ id: true });

اختياري وقابل للقيمة الفارغة

حدّد الحقول على أنها اختيارية أو قابلة للقيمة الفارغة.
const Schema = z.object({
  name: z.string(),
  bio: z.string().optional(),   // string | undefined
  avatar: z.string().nullable(), // string | null
});

Enum وUnion

تحقق من قيم enum وأنواع union.
const StatusSchema = z.enum(['active', 'inactive', 'banned']);
const InputSchema = z.string().or(z.number());

التحويل

حوّل القيم التي تم تحليلها.
const PriceSchema = z.string().transform(s => parseFloat(s));

Zod في مسارات API

تحقق من أجسام الطلبات في مسارات API الخاصة بـ Express وNext.js.
app.post('/users', async (req, res) => {
  const result = CreateUserSchema.safeParse(req.body);
  if (!result.success) return res.status(400).json(result.error);
  const user = await db.create(result.data); // typed!
  res.json(user);
});

أدوات التحقق المخصصة

أضف تحسينات مخصصة إلى المخططات.
const PasswordSchema = z.string().min(8).refine(
  s => /[A-Z]/.test(s), { message: 'Need uppercase' }
);

تحقق سريع

ما الدالة التي يوفرها Zod للتحقق من البيانات دون طرح استثناء عند الفشل؟

مراجعة

التحقق وقت التشغيل باستخدام Zod: أتقنتم المفاهيم والأنماط الأساسية.

الأسئلة الشائعة

هل درس «التحقق وقت التشغيل باستخدام Zod» مجاني؟

نعم — نص درس «التحقق وقت التشغيل باستخدام Zod» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة TypeScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة TypeScript Academy 4 دروس في المجموع.

ماذا ستتعلم في «التحقق وقت التشغيل باستخدام Zod»؟

تحققوا من أنواع استجابات API واستنتجوها باستخدام مخططات Zod تتمرن على TypeScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ TypeScript Academy؟

لا تُشترط خبرة سابقة. TypeScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «التحقق وقت التشغيل باستخدام Zod»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس TypeScript Academy هذا؟

نعم. كل درس في TypeScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تحديد أنواع استجابات Fetch باستخدام أغلفة عامة
  2. التحقق وقت التشغيل باستخدام Zod
  3. توليد شيفرة OpenAPI: أنواع مولّدة تلقائيًا
  4. نظرة عامة على عميل tRPC الآمن من ناحية الأنواع
← العودة إلى TypeScript Academy