التحقق من البيانات في Swift: مكتبة Validator

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة
```html

ما هو Validator وما الغرض منه؟

Validator هي مكتبة خفيفة للتحقق من صحة البيانات في Swift، مصممة لتطبيقات iOS و macOS. تتيح لك وصف قواعد التحقق من إدخال المستخدم بشكل تصريحي، وتجنب إنشاءات if-else الضخمة. الهدف الرئيسي هو تبسيط معالجة النماذج وطلبات API وأي بيانات أخرى تتطلب التحقق من الصحة (البريد الإلكتروني، كلمة المرور، العمر، نطاق الأرقام، إلخ).

التثبيت

يتم تثبيت Validator عبر Swift Package Manager (SPM). أضف التبعية في Package.swift:

.package(url: "https://github.com/adamwaite/Validator.git", from: "3.2.0")

أو عبر Xcode: File → Add Packages → الصق رابط المستودع.

الوظائف الأساسية

  • التحقق من النصوص: البريد الإلكتروني، URL، التعبيرات المنتظمة، الطول، عدم الفراغ.
  • التحقق من الأرقام: النطاق، القيمة الدنيا/القصوى، الأعداد الصحيحة.
  • القواعد المركبة: دمج عدة شروط عبر And / Or.
  • أدوات التحقق المخصصة: إنشاء قواعد خاصة بك من خلال الإغلاقات (closures).
  • التكامل مع UIKit/SwiftUI: امتدادات جاهزة لـ UITextField و SwiftUI View.

مثال كود بلغة Swift (iOS)

import Validator

// 1. تعريف قاعدة للبريد الإلكترونيlet emailRule = ValidationRulePattern(pattern: EmailValidationPattern.standard, error: "بريد إلكتروني غير صحيح")

// 2. التحقق من صحة النصlet email = "test@example.com"let result = email.validate(rule: emailRule)

switch result {case .valid: print("البريد الإلكتروني صحيح")case .invalid(let errors): print("الأخطاء: \\(errors)")}

// 3. قاعدة مركبة: كلمة مرور من 8 إلى 20 حرفًا، تحتوي على رقم واحد على الأقلlet passwordRule = ValidationRuleLength(min: 8, max: 20, error: "طول كلمة المرور من 8 إلى 20") && ValidationRulePattern(pattern: ".*[0-9].*", error: "يجب أن تحتوي كلمة المرور على رقم")

let password = "SecurePass1"let passwordResult = password.validate(rule: passwordRule)

// 4. التحقق من UITextField (UIKit)let textField = UITextField()textField.text = "user@domain.com"textField.validate(rule: emailRule) { result in // معالجة النتيجة}

متى تستخدم Validator

  • نماذج التسجيل/تسجيل الدخول (البريد الإلكتروني، كلمة المرور، رقم الهاتف).
  • التحقق من الإدخال في UITextField / SwiftUI TextField.
  • التحقق من البيانات قبل إرسالها إلى الخادم.
  • تصفية والتحقق من محتوى المستخدم (المراجعات، التعليقات).
  • تحليل والتحقق من استجابات JSON/API.

المكتبة مثالية للمشاريع التي تتطلب نظامًا مرنًا وقابلاً للقراءة والتوسع للتحقق من البيانات دون كود boilerplate إضافي.

```

توصيات