التحقق من المدخلات باستخدام Kawkab
توفر كوكب Kawkab نظامًا متقدمًا للتحقق من المدخلات باستخدام مكتبة Zod. يتميز النظام بسهولة الاستخدام وإمكانية تخصيصه بما يتناسب مع احتياجات تطبيقك.
إنشاء فئات التحقق
لإنشاء فئة تحقق جديدة، يمكنك استخدام الأمر التالي:
npm run kawkab validation:make <name> [module]
تفاصيل المعلمات:
<name>
: اسم الـ Validation class الذي ترغب في إنشائه (على سبيل المثالlogin
).[module]
: اسم الموديول الذي يحتوي على الـ Validation class (اختياري، الافتراضي هوmain
).
مثال:
لإنشاء فئة تحقق باسم login
:
npm run kawkab validation:make login
النتيجة:
🆗 Validation login created successfully in module main.
1️⃣ Your validation class is ready! You can now use it like this:
👉 import { LoginValidation } from '../validation/login'
Simply create an instance like this:
👉 new LoginValidation()
Enjoy coding! 😎
بنية فئة التحقق
عند إنشاء فئة تحقق جديدة، يتم توليد ملف يحتوي على الهيكل الأساسي كما يلي:
import { BaseValidation, rule as r } from "kawkab";
export class LoginValidation extends BaseValidation {
rules() {
return {
name: r.string(),
};
}
}
استخدام فئة التحقق
بعد إنشاء فئة التحقق، يمكن استخدامها بسهولة:
import { LoginValidation } from "../validation/login";
new LoginValidation(); // سيتحقق من المدخلات
const data = new LoginValidation().data(); // او لاسترداد المدخلات
الاستجابة عند وجود مشكلة في التحقق
عند حدوث خطأ أثناء التحقق من المدخلات، يعيد Kawkab استجابة مُنسقة تتضمن التفاصيل الكاملة عن المشكلة. يتم أيضًا ترجمة الرسائل بناءً على لغة المستخدم الافتراضية أو المكتشفة.
صيغة الاستجابة عند وجود خطأ:
{
"status": false,
"code": "validation",
"message": {
"field": "name",
"name": "name",
"message_original": {
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"name"
],
"message": "Required"
},
"message": "مطلوب"
},
"messages": [
{
"field": "name",
"name": "name",
"message_original": {
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"name"
],
"message": "Required"
},
"message": "مطلوب"
}
]
}
تفاصيل الحقول:
status
: حالة التحقق (false
عند وجود مشكلة).code
: نوع الخطأ (validation
يُشير إلى مشكلة في التحقق).message
: رسالة الخطأ الرئيسية، تحتوي على تفاصيل أول حقل يواجه مشكلة.field
: اسم الحقل الذي به المشكلة.message_original
: الرسالة الأصلية من مكتبة Zod (تحتوي على معلومات تقنية).message
: الرسالة المترجمة حسب لغة المستخدم.messages
: قائمة بجميع الأخطاء الموجودة، مع تفاصيل كاملة لكل حقل.
ترجمة الرسائل:
يتم ترجمة الرسائل بناءً على لغة المستخدم الافتراضية المحددة في إعدادات التطبيق أو المستكشفة من ترويسة Accept-Language
.
موارد إضافية
خاتمة
نظام التحقق في كوكب Kawkab يعتمد على مكتبة Zod لتوفير نظام مرن ودقيق للتحقق من المدخلات. يتميز بسهولة إنشاء الفئات، تخصيص البيانات، ودعم متعدد اللغات لضمان تجربة مميزة للمطورين والمستخدمين.