القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

الهياكل هي أحد أنواع البيانات الأساسية والمستخدمة بشكل شائع والمتوفرة في لغة البرمجة Go. العديد من الحزم عبر وظائف مختلفة ، من حزم قواعد البيانات إلى ORMs ، وبعض أطر عمل الويب تستخدم هياكل لتحليل البيانات والعمليات الأخرى بسهولة.

يعد التحقق من صحة الهيكل مهمة شائعة في Go ، وتوفر حزمة التحقق من Go طريقة بسيطة وفعالة للتحقق من صحة الهياكل في مشاريعك.

ما هي حزمة Go Validator

ال الذهاب المدقق تقوم الحزمة بتنفيذ عمليات التحقق من القيمة للحقول الهيكلية والفردية بناءً على العلامات المحددة في إعلان البنية.

توفر حزمة التحقق من Go ميزات للتحقق من صحة الحقول المتقاطعة والتداخل عبر الهياكل باستخدام العلامات والشريحة والمصفوفة والغوص في الخريطة التي تسمح بمستويات من التحقق من صحة الحقل متعدد الأبعاد ، والتحقق من صحة الحقل المخصص ، واستخراج أسماء الحقول المعرفة بشكل مخصص ، ورسائل الخطأ القابلة للتخصيص ، ودعم شائع إطار الجن كمدقق افتراضي للحزمة.

قم بتشغيل أحد هذه الأوامر في المحطة الطرفية لدليل العمل الخاص بك لتثبيت ملف المدقق طَرد.

instagram viewer
يذهب احصل على gopkg.in/يذهب-playground / المدقق. v9
يذهب احصل على github.com/يذهب-ملعب / مدقق / v10

الإصدارات هي لاحقة URL. يقوم الأمر الأول بتثبيت الإصدار 9 ، بينما يقوم الأمر الثاني بتثبيت الإصدار 10 من الحزمة.

بعد تثبيت الحزمة ، يمكنك استيراد الحزمة إلى مشاريعك اعتمادًا على الإصدار الذي قمت بتثبيته.

يستورد (
"gopkg.in/go-playground/validator.v9"
)

يمكنك الآن متابعة استخدام حزمة التحقق من Go. إذا كانت هناك أية مشكلات في التثبيت ، فحاول إعادة التثبيت / الترقية إلى أحدث إصدار من Go.

التحقق من صحة الهياكل باستخدام حزمة أداة التحقق

ستحتاج إلى إنشاء مثيل لـ المدقق. تحقق Struct ، حدد البنية التي تريد التحقق من صحتها باستخدام علامات التحقق من الصحة لتحديد قواعد التحقق من صحة الحقول.

إليك كيفية إنشاء مثيل لـ المدقق. تحقق هيكل.

funcرئيسي() {
تحقق: = المدقق. جديد()
}

يمكنك تحديد البنية التي تريد التحقق من صحتها عن طريق تحديد العلامات للحقول ، وبالتالي تعيين قواعد التحقق من الصحة. علامات التحقق من الصحة هي تعليقات توضيحية خاصة لتعريفات مجال البنية التي تحدد القواعد.

إليك بنية منتظمة للتحقق من الصحة.

يكتب مستخدم هيكل {
اسم خيط
عمر int
بريد إلكتروني خيط
}

إليك مثال على البنية ، جاهز للتحقق.

يكتب مستخدم هيكل {
اسم خيط`التحقق من صحة:" مطلوب "`
عمر int`تحقق:" gte = 0، lte = 130 "`
بريد إلكتروني خيط`تحقق:" مطلوب ، بريد إلكتروني "`
}

في هذا المثال ، قمت بتحديد ملف اسم الحقل كما هو مطلوب في إنشاء مثيل ، فإن عمر يجب أن يكون الحقل أكبر من أو يساوي 0 وأقل من أو يساوي 130 ، ويجب أن يكون الحقل بريد إلكتروني الحقل مطلوب ويجب أن يكون عنوان بريد إلكتروني صالحًا عند إنشاء مثيل.

تتوفر علامات تحقق مختلفة في حزمة Go Validator ، بما في ذلك علامات الحقول المطلوبة ، والحد الأدنى والحد الأقصى للقيم ، و التعبيرات العادية. يمكنك العثور على قائمة كاملة بعلامات التحقق المتوفرة في الوثائق الخاصة بحزمة Go validator.

بمجرد تحديد البنية التي تريد التحقق من صحتها وتحديد قواعد التحقق من الصحة لكل حقل ، يمكنك استخدام هيكل طريقة المدقق. تحقق هيكل للتحقق من صحة الهيكل.

المستخدم: = المستخدم {
// الاسم غير موجود
عمر: 3990000,
بريد إلكتروني: "[email protected]",
}
// لاحظ أن حقلي الاسم والعمر يفشلان في التحقق من الصحة

يخطئ: = تحقق من صحة. هيكل (مستخدم)
لو يخطئ! لا شيء {
// الهيكل غير صالح
}

ال هيكل تقوم الطريقة بإرجاع خطأ في حالة وجود أخطاء في التحقق من الصحة ، ويمكنك معالجة الخطأ بناءً على عمليتك.

يمكنك الوصول إلى هذه الأخطاء باستخدام ملف التحقق من صحة الأخطاء طريقة الخطأ.

لو يخطئ! لا شيء {
ل _ ، يخطئ: = يتراوح يخطئ. أخطاء التحقق) {
FMT. Println (يخطئ. الحقل () ، يخطئ. بطاقة شعار())
}
}

ال التحقق من صحة الأخطاء سيعيد التابع اسم كل حقل به خطأ في التحقق وعلامة التحقق التي تسببت في الخطأ.

يمكنك أيضًا تحديد علامات تحقق مخصصة إذا لم تكن متطلبات التحقق المحددة جزءًا من العلامات المضمنة.

يمكنك استخدام ال التسجيل طريقة المدقق. تحقق هيكل. ال التسجيل الطريقة تأخذ حجتين. اسم علامة التحقق من الصحة ووظيفة التحقق من الصحة. وظيفة التحقق من الصحة هي وظيفة رد نداء يتم استدعاؤها لكل حقل به علامة التحقق المخصصة ، ويجب أن تعود الوظيفة حقيقي إذا كان الحقل صالحًا و خطأ شنيع إذا كان خلاف ذلك.

فيما يلي مثال على تعريف علامة تحقق مخصصة. تتحقق العلامة من صحة الحقول للأرقام الزوجية.

التحقق من صحة. التحقق من صحة ("حتى", func(مدقق fl. مستوى المجال)منطقي {
// حاول الحصول على قيمة الحقل على هيئة عدد صحيح
القيمة ، موافق: = fl. الحقل (). الواجهة (). (int)
لو !نعم {
// إذا لم تكن قيمة الحقل عدد صحيح ، فقم بإرجاع خطأ
يعودخطأ شنيع
}
// إرجاع صحيحًا إذا كانت القيمة زوجية أو خاطئة أو خلاف ذلك
يعود قيمة ٪ 2 == 0
})

يحدد الكود علامة تحقق مخصصة حتى باستخدام التسجيل طريقة المدقق. تحقق هيكل. لقد حددت علامة التحقق من الصحة باستخدام دالة تأخذ وسيطة واحدة من النوع المدقق. مستوى المجال.

يمكنك الآن استخدام علامة التحقق المخصصة في تعريفات البنية بنفس الطريقة التي تستخدمها مع علامات التحقق المضمنة.

يكتب MyStruct هيكل {
قيمة int`تحقق:" حتى "`
}

هناك المزيد من الهياكل للذهاب

الهياكل هي مواطنون من الدرجة الأولى في Go ، وهناك الكثير الذي يمكنك القيام به مع الهياكل. إذا كنت معتادًا على اللغات الموجهة للكائنات فقط ، فيمكنك استخدام هياكل Go للعمل على البيانات كما تفعل مع الفصول الدراسية.