validasi_ui 0.1.0-dev.4
validasi_ui: ^0.1.0-dev.4 copied to clipboard
Headless form management for Flutter, bridging Validasi schemas to UI.
0.1.0-dev.4 #
Breaking Changes #
shouldUnregisterdefault changed fromtruetofalse. Field state (value, errors, dirty/touched) now persists across mount/unmount cycles by default. SetshouldUnregister: trueonValidasiFormor per-field to restore the old behavior.
Added #
- New comprehensive E2E tests: cross-field refinement rebuild cost, surgical rendering isolation, resource leak detection, behavior mismatch verification, and watch + form field interaction.
ValidasiFieldSignalsdisposed-signal detection: read getters now throw a descriptiveStateErrorwith migration guidance when accessed after disposal.
Fixed #
- Async coordinator:
finallyblock no longer writesisValidating = falseto disposed signals (version check guard). - Async coordinator: guard against timer firing after field unregister (disposed-signal check on all signal setters).
validate(): only rebuilds widgets for fields whose error state actually changed (added_fieldErrorsEqualcomparison in_applyErrors)._distributeFormErrors: now wraps writes inbatch()and only clears fields that previously had errors but aren't in the new error set — preventing unnecessary SignalBuilder notifications.clearAllErrors()andsetInitialValues(): wrapped inbatch()for consistent signal notification batching.ValidasiWatch.field: removed redundantSignalBuilder.dependencies(auto-detection viaonSignalReadis sufficient).
0.1.0-dev.3 #
Breaking Changes #
ValidasiTextFormField<T>andValidasiParsedTextFormField<T, V>are removed. Replaced byValidasiTextField<T, V>+ValidasiTextController. Migration: replaceValidasiTextFormField(field: ..., decoration: ...)withValidasiTextField<T, String>(field: ..., builder: ...). See README for details.
Added #
ValidasiSchema<T>integration: form controller and fields now work withValidasiSchemaandValidasiFieldReaderabstractions from validasi core.ValidasiTextField<T, V>— wrapsValidasiFormFieldwith automaticTextEditingControllerlifecycle and form-value sync. Accepts an optionalValidasiTextControllerfor programmatic control (clear, selection, etc.). Builder receives(context, state, controller)with zeroTextField-API coupling.ValidasiTextController— aTextEditingControllersubclass for use withValidasiTextField.
0.1.0-dev.2 #
- Updated
validasidependency to^1.0.0-rc.2.
0.1.0-dev.1 #
- Add
ValidasiFormControllerwith field signal management, dirty/touched state, migration/swap support. - Add
FormValidator— routevalidate()through form validator with error distribution. - Add
setError()with overwrite option,clearErrors(),validateAsync(). - Add
shouldUnregisteroption for field cleanup. - Add disposal checks — methods throw
StateErrorwhen disposed. - Add async validation coordination and field disabling logic.
- Add support for indexed fields in validation framework.
- Add
getValues()method for value retrieval. - Improve docs and add comprehensive tests.
0.1.0-dev.0 #
- Initial development release.