
ìkọkúkọ
Form validation made simple for Compose Multiplatform.
FreeOpen SourceCode261 impressions#1120 of its week
ìkọkúkọ is a reactive, type-safe form validation library for Compose Multiplatform (Android & iOS).
- for
- Kotlin developers building Compose UI forms for Android and iOS.
- pricing
- open source
- license
- Apache-2.0
- release-0.2.0Ìkọkúkọ 0.2.02 months ago
- release-0.1.0Ìkọkúkọ 0.1.0a year ago
Key features
- Type-safe fields — Define fields like Field.Text or Field.Boolean that enforce consistent data types.
- Reactive validation — Validation runs automatically when field values change in Compose state.
- Composable DSL — Declare forms and validators declaratively using a Kotlin DSL.
- Built-in validators — Includes Required, Email, MinLength, pattern, numeric and more out of the box.
- Extendable validators — Implement custom Validator<T> to add project-specific rules.
- Lightweight implementation — No reflection or annotation processors required.
- FormState management — Single source of truth for field values, errors and visibility flags.
Use cases
- Validate user registration forms with email and password fields in a shared Android/iOS codebase.
- Create settings screens where boolean and range fields need instant feedback without manual state handling.
- Build multi-step wizard forms that reset or toggle error visibility based on submit actions.
ìkọkúkọ FAQ
How do I add ìkọkúkọ to my project?+
Add the Maven Central dependency implementation("com.quantipixels:ikokuko:0.2.0") and include mavenCentral() in repositories.
Can I customize validation logic?+
Yes, you can implement your own Validator<T> and supply it alongside built-in validators.
What does the shouldShowErrors flag do?+
It controls whether validation errors are shown for dirty fields; false hides them until submit, true shows them as fields change.
Is the library compatible with state restoration?+
Use rememberSaveableFormState() to survive platform state restoration, with a saver for custom field values if needed.
Do I need to keep Field instances as stable references?+
No, fields are cheap to recreate; they are identified by name, not by object identity.
Summarized by DevHunt from github.com · Oct 6, 2026. Details may change; check the official site.
.png?width=64)








