FormKit
1.0.0
FormKit is a lightweight and modular SwiftUI library for building declarative forms with real-time validation. It simplifies field binding, touched state tracking, and error display—all with native SwiftUI support.
mohsinbmwm3/FormKit
What's New
📦 FormKit v1.0.0 – Initial Release
2025-04-04T15:20:12Z
Released on: 2025-04-04
🚀 Highlights
✅ SwiftUI-native form validation library
✅ Touched-based error visibility (errors appear after user interaction)
✅ Live validation on each field update
✅ Reactive form validity (form.isValid) for controlling submit buttons
✅ Field-level binding via FormModel and FormField
✅ Custom border UI (no UIKit styling conflicts)
✅ Cleanly separated Login and Registration demos
📂 What’s Included
- FormField.swift: Generic observable field with validation support
- FormModel.swift: Binds multiple fields and tracks form-wide validity
- Validator.swift: Built-in required, minLength, and custom closures
- Protocols.swift: Lightweight internal contracts for validation behavior
- FormBuilder.swift: Swift result builder DSL for defining forms
- Demo views: HomeView, LoginView, RegistrationView
🧪 Demo App Features
- Login form: Email + Password validation
- Registration form: Name, Age, and optional Bio
- Navigation-based UI separation
- Validation-driven error messages and button state
📱 Requirements
- iOS 15+
- Swift 5.7+
- Xcode 14+
🛠 What’s Next (Planned)
- Async validation support
- Reusable View
- Form reset / default values
- Swift Package Manager metadata & docs
- Validator chaining and built-in formats (e.g. .emailFormat)