تواصل معنا
Webflow Premium Partner إيهاب فايز
العودة لأدوات AI Coding
الأمان والجودة

Yup Schema Validation

بناء مخططات تحقق معبرة مع Yup للتحقق من النماذج وتحليل البيانات في تطبيقات JavaScript.

Claude Code Cursor Copilot Windsurf

نظرة عامة

Yup هي مكتبة للتحقق من المخططات توفر واجهة برمجة تطبيقات طلاقية وقابلة للتسلسل لتحديد قواعد التحقق. كانت مكتبة التحقق الأساسية لتطبيقات React وخاصة مع تكامل مكتبة نماذج Formik. تحدد مخططات Yup كلاً من شكل البيانات وقيود التحقق مع إجبار نوع مدمج يحول السلاسل إلى أرقام وتواريخ وقيم منطقية تلقائياً.

تدعم المكتبة التحقق الشرطي من خلال طريقة when() مما يتيح لقواعد التحقق أن تعتمد على قيم حقول أخرى. هذا مفيد بشكل خاص للنماذج المعقدة حيث تتغير متطلبات الحقول بناءً على اختيارات المستخدم. يوفر Yup أيضاً test() للتحقق المخصص غير المتزامن مما يتيح عمليات التحقق ضد واجهات برمجة التطبيقات مثل التحقق من التفرد.

رسائل أخطاء Yup قابلة للتخصيص على مستوى المخطط وعالمياً. تدعم المكتبة التعريب من خلال كائنات محلية مخصصة مما يسهل توفير رسائل خطأ بلغات متعددة. بينما يشبه Zod في الغرض يركز Yup على التحقق في وقت التشغيل مع الإجبار التلقائي مما يجعله مناسباً بشكل خاص للتحقق من النماذج حيث تبدأ قيم الإدخال كسلاسل.

لمن هذه الأداة؟

  • التحقق من مدخلات النماذج مع Formik ومخططات Yup
  • تحديد قواعد تحقق شرطية للنماذج المعقدة
  • التحقق من بيانات طلبات API مع رسائل خطأ مخصصة
  • إعداد رسائل خطأ تحقق متعددة اللغات

التثبيت

إعداد Claude Code
npm install yup

الإعدادات

import * as yup from "yup"

const schema = yup.object({
  name: yup.string().required("Name is required").min(2),
  email: yup.string().email("Invalid email").required(),
  age: yup.number().positive().integer().nullable(),
  website: yup.string().url().optional(),
  password: yup.string().min(8).required(),
  confirmPassword: yup.string()
    .oneOf([yup.ref("password")], "Passwords must match")
    .required(),
})

await schema.validate(formData, { abortEarly: false })