Menu
CoddyTech

استخدام البيانات المتحقق منها

جزء من قسم واجهات REST API في رحلة Node.js على Coddy. الدرس 8 من 25.

يمكن للمخطط أن يُرجع إما بيانات تم التحقق منها أو معلومات عن مشكلة. تُرجع safeParse كائنًا يخبرك حقله success بما حدث. عند النجاح، تحتوي data على القيمة التي تم التحقق منها.

const result = Book.safeParse(body);
if (result.success) {
    return result.data;
}
return {error: 'Invalid book'};

يمكن للقواعد تحويل القيم، كما يمكنها رفضها. تزيل z.string().trim() المسافات المحيطة. احفظ البيانات التي تم التحقق منها للاحتفاظ بهذا التغيير. فحفظ body الأصلي سيعيد المسافات غير المرغوب فيها. يحتوي المخطط المقدَّم مسبقًا على قواعده.

تزيل trim() المسافات المحيطة. تشترط min(1) التالية وجود حرف واحد على الأقل، لذا يفشل العنوان الذي يتكون من مسافات فقط.

challenge icon

التحدي

سهل

هذا مشروع تدريبي صغير. إعداد المشروع مُتاح؛ عدّل exercise.js فقط.

استخدم مخطط Task المزوّد. أعد {"ok":true,"title":...} مع العنوان بعد إزالة المسافات الزائدة عند النجاح، أو {"ok":false} عند الفشل. إرسال POST مع {"title":" Read "} إلى /result يعطي {"ok":true,"title":"Read"}. إذا كان العنوان هو 42، فستكون النتيجة {"ok":false}.

جرّب أيضًا {"title":" "}: يجب أن يعيد {"ok":false}.

يستخدم GET /result الأول المثال المزوّد {"title": " Read "}. استخدم POST /result مع نصّ JSON لتجربة مدخلات أخرى.

جرّب بنفسك

import { z } from 'zod';
const Task = z.object({ title: z.string().trim().min(1) });
export function exercise(body) {
    return { ok: true, title: body.title };
}

جميع دروس واجهات REST API

تدرّب بنفسك: Playground لـ Express