التحقق من الحقول
تحقق قابل لإعادة الاستخدام لنماذج التدفقات والأنظمة الخلفية للشركاء.
التحقق من حقل
POST /api/v1/validate/field
{
"field": {
"key": "email",
"type": "email",
"label": "E-mail",
"required": true
},
"value": "not-an-email"
}
الاستجابة
{
"ok": false,
"key": "email",
"value": null,
"error": "Adresse e-mail invalide.",
"code": "format"
}
الصيغة المختصرة
{
"type": "phone",
"key": "phone",
"value": "+228XXXXXXXX"
}
التحقق من نموذج
POST /api/v1/validate/form
{
"fields": [
{ "key": "full_name", "type": "text", "label": "Nom", "required": true },
{ "key": "email", "type": "email", "label": "E-mail", "required": false },
{ "key": "phone", "type": "phone", "label": "Téléphone", "required": true }
],
"values": {
"full_name": "Ama",
"email": "[email protected]",
"phone": "+22890000000"
}
}
200عندما تكونok: true422عند فشل التحقق (يتضمن الجسم دائمًاerrors)
{
"ok": false,
"values": {},
"errors": {
"email": "Adresse e-mail invalide."
},
"error_list": [
{ "key": "email", "code": "format", "error": "Adresse e-mail invalide.", "label": "E-mail" }
],
"first_error": "Adresse e-mail invalide."
}
أنواع الحقول المتوافقة
type | القواعد |
|---|---|
text | required، الحد الأدنى/الأقصى للطول، regex اختياري |
email | بريد إلكتروني بتنسيق RFC |
phone | E.164 بعد التطبيع (+…) |
number / integer | رقمي؛ حدود دنيا/قصوى اختيارية |
date | YYYY-MM-DD |
boolean | نعم/لا |
select | يجب أن تكون القيمة ضمن options[].id |
قواعد مخصصة لحقل
{
"key": "nif",
"type": "text",
"required": true,
"validation_regex": "^[A-Z0-9-]{6,20}$",
"validation_message": "NIF invalide",
"min_length": 6,
"max_length": 20
}
بدائل تستخدم JWT للعميل
يمكن لتطبيقات المستخدم النهائي استدعاء:
POST /api/v1/me/validate/fieldPOST /api/v1/me/validate/form
للجسم الصيغة نفسها؛ وتستخدم المصادقة رمز Bearer الخاص بالمستخدم.