Swift में डेटा वैलिडेशन क्या है और इसकी आवश्यकता क्यों है?
डेटा वैलिडेशन इनपुट डेटा को निर्धारित नियमों के अनुरूप जांचने की प्रक्रिया है। iOS/macOS डेवलपमेंट में यह अत्यंत महत्वपूर्ण है: रजिस्ट्रेशन फॉर्म में email और पासवर्ड की जांच से लेकर सर्वर से JSON रिस्पॉन्स के वैलिडेशन तक। Foundation के अंतर्निहित साधन (NSPredicate, रेगुलर एक्सप्रेशन) अक्सर जटिल और पुन: उपयोग के लिए असुविधाजनक होते हैं। Validator Swift के लिए एक हल्की-फुल्की लाइब्रेरी है, जो आपको चेनएबल सिंटैक्स (chainable syntax) के माध्यम से वैलिडेशन नियमों को घोषणात्मक रूप से वर्णित करने और प्रोजेक्ट में कहीं भी उपयोग करने की अनुमति देती है।
Validator लाइब्रेरी कैसे स्थापित करें
Validator Swift Package Manager (SPM) के माध्यम से उपलब्ध है। इसे Package.swift में या Xcode के माध्यम से जोड़ें: File → Add Packages → रिपॉजिटरी का URL दर्ज करें:
https://github.com/adamwaite/Validatorया यदि आप CocoaPods का उपयोग करते हैं, तो इसके माध्यम से:
pod 'Validator'लाइब्रेरी के मुख्य कार्य
- अंतर्निहित नियम: email, URL, स्ट्रिंग, संख्या, लंबाई, रेगुलर एक्सप्रेशन और कई अन्य।
- कस्टम नियम:
ValidationRuleप्रोटोकॉल को लागू करके कोई भी जांच बनाई जा सकती है। - कलेक्शन का वैलिडेशन: ऐरे, डिक्शनरी, ऑप्शनल वैल्यू की जांच।
- मानव-पठनीय त्रुटियाँ: स्थानीयकृत त्रुटि संदेश लौटाता है।
- UIKit/SwiftUI के साथ काम करना: सीधे टेक्स्ट फील्ड को वैलिडेट किया जा सकता है।
Swift में कोड का उदाहरण
import Validator
// नियम बनाएंlet emailRule = ValidationRulePattern(pattern: EmailValidationPattern.standard)let passwordRule = ValidationRuleLength(min: 8, max: 32)
// स्ट्रिंग को वैलिडेट करेंlet email = "test@example.com"let result = email.validate(rule: emailRule)
switch result {case .valid: print("Email सही है")case .invalid(let errors): print("त्रुटियाँ: \\(errors)")}
// एकाधिक नियमों के साथ वैलिडेशनlet username = "user123"let usernameRules = ValidationRuleSet<String>()usernameRules.add(rule: ValidationRuleLength(min: 3))usernameRules.add(rule: ValidationRulePattern(pattern: "^[a-zA-Z0-9_]+$"))
let usernameResult = username.validate(rules: usernameRules)if case .invalid(let errors) = usernameResult { print("उपयोगकर्ता नाम वैलिडेशन त्रुटियाँ: \\(errors)")}
// UITextField के लिए उदाहरण (UIKit)let textField = UITextField()textField.text = "invalid email"textField.validate(rule: emailRule) { result in switch result { case .valid: textField.layer.borderColor = UIColor.green.cgColor case .invalid(let errors): textField.layer.borderColor = UIColor.red.cgColor print(errors.first?.message ?? "") }}Validator का उपयोग कब करें
यह लाइब्रेरी निम्नलिखित के लिए आदर्श है:
- इनपुट फॉर्म (रजिस्ट्रेशन, लॉगिन, प्रोफाइल)।
- सर्वर पर भेजने से पहले डेटा का वैलिडेशन।
- रीयल-टाइम में उपयोगकर्ता इनपुट की जांच।
- JSON/API रिस्पॉन्स का पार्सिंग और वैलिडेशन।
- कोई भी परिदृश्य जहां बार-बार पुन: प्रयोज्य डेटा जांच की आवश्यकता होती है।
Validator बॉयलरप्लेट कोड को काफी कम करता है, वैलिडेशन को पढ़ने योग्य और परीक्षण योग्य बनाता है। यह किसी भी Swift डेवलपर के लिए एक must-have टूल है जो उपयोगकर्ता इनपुट या बाहरी डेटा के साथ काम करता है।
```