العودة لأدوات AI Coding
الأمان والجودة
Yup Schema Validation
بناء مخططات تحقق معبرة مع Yup للتحقق من النماذج وتحليل البيانات في تطبيقات JavaScript.
Claude Code Cursor Copilot Windsurf
نظرة عامة
Yup هي مكتبة للتحقق من المخططات توفر واجهة برمجة تطبيقات طلاقية وقابلة للتسلسل لتحديد قواعد التحقق. كانت مكتبة التحقق الأساسية لتطبيقات React وخاصة مع تكامل مكتبة نماذج Formik. تحدد مخططات Yup كلاً من شكل البيانات وقيود التحقق مع إجبار نوع مدمج يحول السلاسل إلى أرقام وتواريخ وقيم منطقية تلقائياً.
تدعم المكتبة التحقق الشرطي من خلال طريقة when() مما يتيح لقواعد التحقق أن تعتمد على قيم حقول أخرى. هذا مفيد بشكل خاص للنماذج المعقدة حيث تتغير متطلبات الحقول بناءً على اختيارات المستخدم. يوفر Yup أيضاً test() للتحقق المخصص غير المتزامن مما يتيح عمليات التحقق ضد واجهات برمجة التطبيقات مثل التحقق من التفرد.
رسائل أخطاء Yup قابلة للتخصيص على مستوى المخطط وعالمياً. تدعم المكتبة التعريب من خلال كائنات محلية مخصصة مما يسهل توفير رسائل خطأ بلغات متعددة. بينما يشبه Zod في الغرض يركز 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 }) استكشف أدوات AI
أدوات AI تكمل شغلك — للمصممين والمطورين
اقرأ مقالات عن AI
نصايح عملية في التصميم والذكاء الاصطناعي
أدوات مشابهة
الأمان والجودة
Snyk Security Scan
فحص التبعيات والأكواد للكشف عن الثغرات الأمنية المعروفة واقتراح الإصلاحات.
Claude Code Copilot Cursor
الأمان والجودة SonarQube Code Quality
تحليل شامل لجودة الكود واكتشاف الأنماط السيئة والأكواد المكررة والتعقيد الزائد.
Claude Code Copilot Cursor
الأمان والجودة OWASP ZAP Security Testing
فحص تلقائي لتطبيقات الويب للكشف عن ثغرات OWASP العشر الأكثر شيوعًا.
Claude Code Copilot Cursor