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)

Description

  • Swift Tools 6.0.0
View More Packages from this Author

Dependencies

  • None
Last updated: Fri May 16 2025 21:31:46 GMT-0900 (Hawaii-Aleutian Daylight Time)