formx 0.37.1
formx: ^0.37.1 copied to clipboard
Access, build, format, validate, sanitize and fill forms easily with Form/Field extensions.
Changelog #
0.37.1 Oct 09, 2025 #
- Fix
AsyncAutocompleteassert conflict.
0.37.0 Oct 06, 2025 #
- Add
AsyncSearch/FormxField:controller,readOnly&enabled. - Add
AsyncAutocomplete/FormxField:controller,readOnly&enabled. - Add
FormxField.readOnlyto all fields.
0.36.3 Aug 13, 2025 #
- Fix
DateFormxField.
0.36.0 Jun 16, 2025 #
- Upgraded
DateFormxField. Now editable. - Added
TimeFormxField. - Added
FormxConfig.timePicker. - Added
FormatterExtension.time. - Added
FormFieldState.time.
0.35.0 Jun 13, 2025 #
- Added
SliderFormField. - Fixed
FormxState.visit, key now correctly visits nested forms. - Improved
FormxFieldenabled state handling. - Renamed all library fields to
FormxFieldfor consistency.
0.34.1 Jun 12, 2025 #
- Added
Formx.submit. - Added
Formx.trySubmit. - Added
Formx.rawValues. - Added
Formx.errorTexts. - Added
Formx.clear. - Added
FormFieldStateExtension.clear.
0.34.0 Jun 10, 2025 #
- Breaking change: visiting a form explicitly requires a
Keyvalue. - Fixed missing
enabledstate in fields. - Introduces
Formxexperimental api.
0.33.1 Apr 23, 2025 #
- Relaxed assertion on
Formx.visit.
0.33.0 Mar 25, 2025 #
- Renamed
FormKey.valuetoFormKey.key. - Renamed
FieldKey.valuetoFieldKey.key. - Renamed
FormxField.errorBuildertoviewErrorBuilder. - Renamed
FormxField.emptyBuildertoviewEmptyBuilder.
0.32.0 Mar 21, 2025 #
- Added
FormKey, shorthand forGlobalKey<FormState>with key value. - Fixes
FieldKeyusingKey.valueidentity instead ofKey. - Improved
FieldKeytype assertions.
0.31.0 Mar 07, 2025 #
- Now
context.formx&context.fieldare 0(1) on consecutive calls. - Now consecutive visits are cached.
- Now it's possible to refine a visit. Ex:
context.field('address.street'). - Added assertion for duplicate [Form.key] & [FormField.key].
- Fix mismatch type exception when using validators.
- Updated README.
- Added tests.
0.30.0 Feb 28, 2025 #
- Improved
context.fieldvisitors. - Improved
FormFieldState.dateto includeMaterialLocalizations.parseCompactDate. - Fixed wrong formatting when unmasking.
- Fixed
FieldKey.adapteroverriding default when null. - Added
FieldKey.adapterasserts. - Added widget tests.`
- Changed min sdk constraints to Dart 3.3.0 & Flutter 3.19.0.
0.29.1 Dec 10, 2024 #
- Added
Comparableextensions. - Added async
Autocomplete/Searchfields.
0.29.0 Dec 09, 2024 #
- Added
SearchFormField.errorBuilder. - Added
SearchFormField.emptyBuilder. - Added
AutocompleteFormField.errorBuilder. - Added
AutocompleteFormField.emptyBuilder. - Added
Iterable.orderedBy. - Exported
FormxField. - Removed
image_pickerdependency. - Moved to formx/formx monorepo.
0.28.0 Dec 05, 2024 #
- Added
Separatorenum forFormatterExtension.currency/pos. - Removed
multi_input_formatterdependency. - Removed
dartxdependency. - Removed all dependency assets.
- Updated docs & README.
0.27.0 Nov 13, 2024 #
- Improved
FormxFieldwidgets. - Removed
FormxField.isRaw. - Added
InputDecoratorx. - Added
FormxField.buildDecorator. - Added
DateFormField.firstDateandDateFormField.lastDate. - Improved
FormxSetupdefault datePicker.
0.26.0 Nov 10, 2024 #
- Added
Validator.enabledto enable/disable a validator. - Added enabled to
Validator.or/and. - Added
45 dn].cpfCnpj. - Added
FormxContextExtension.fill. - Renamed
isRequiredtorequiredinValidator. - Removed
FromMapExtension.of/maybeOf. - Removed
orTest. - Updated docs.
0.25.0 Nov 8, 2024 #
- Improved
FormxState.debugmessages. - Improved
FormxState.visit. - Added
keysparameter toFormxState.visit. - Added
keysparameter toFormxState.submit/trySubmit/toMap. - Added
keysparameter toBuildContext.submit/trySubmit. - Added
OrValidatorclass. - Added
Validator.addValidator. - Added
Validator.ormodifier. - Added
Validator.orTestmodifier. - Added
Map.nonNulls. - Added
Iterable<MapEntry>.toMap. - Added
Iterable<MapEntry>.keys. - Added
Iterable<MapEntry>.values. - Added
Map.keysWhere. - Added
Map.valuesWhere.
0.24.1 Nov 6, 2024 #
- Added
FileListFormField.initialValueto saved files.
0.24.0 Nov 6, 2024 #
- Added
FormFieldState.submitandFormFieldState.trySubmit. - Added
FormxException.errorMessagefor custom messages. - Added
errorMessageto all formx/fieldsubmit. - Added
ImageListFormField.urldefault decoration. - Added
FormxDateExtension.hasPassed.
0.23.1 Nov 5, 2024 #
- Added singnature parameters to
ImageFormField.urlconstructors. - Added
imageDeleter&imageUploadertoFormxSetup. - Simplified
Unmaskersignature. - Removed
adaptedValue. UsetoValue.
0.23.0 Nov 5, 2024 #
- Added
ImageFormFieldfields. - Added
imagePicker/imagesPickertoFormxOptions.
0.22.0 Nov 5, 2024 #
- Added
Formatterclass. - Added
FormatterExtension& many modifiers. - Simplified
FormxOptionscustomizations. - Improved
.submitto reach nested fields. - Improved
.fillto format text fields. - Removed
mask_text_input_formatter. - Removed
string_validatorsdependency. - Removed
material_file_icondependency. - Removed all deprecations.
- Added test utils.
0.21.0 Oct 28, 2024 #
- Added
FormxFieldandFormxFieldStateinterfaces. - Major refactor.
0.20.4 Oct 25, 2024 #
- Added
onChangedto allFileFormField. - Added
CircularProgressIndicatorto allFileFormFieldwhen picking/uploading.
0.20.2 Oct 24, 2024 #
- Fixed exception on
FileFormFeilddeleter. - Added
XFile.timestampName. - Added
XFile.extension.
0.20.1 Oct 23, 2024 #
- Fixed
InputDecoratorempty state.
0.20.0 Oct 23, 2024 #
- Added
Map.pairsextension. - Added
Validator.stategetter. - Added
Validator.testStateextension. - Added
Validator.equalsFieldextension. - Fixed
FileFormFielddeleter call order. - Optimized formx/field visitors & to not use dependsOn.
- Optimized field widgets that use
InputDecorator& added hover, empty and focus interactions. - Optimized
castJson()andmapJson()to work on any Iterable. - Removed
FormxOptions.defaultTitledeprecation. UseFormxSetup.defaultTitle.
0.19.1 Oct 22, 2024 #
- Added
FormFieldState.valueAdapted. - Fixed
FieldKey.unmaskapply on the entire map instead of just the value. - Deprecates
FieldKeyextensions. UseKey.optionsinstead.
0.19.0 Oct 20, 2024 #
- Added
BuildContext.submit. - Added
BuildContext.trySubmit. - Added
Formx.submit. - Added
Formx.trySubmit. - Added
FormxStringExtension.initials. - Added
FormxFromMapExtension:of&maybeOf. - Added
FormxException. - Improve
FileListFormField.urlupload. - Changes
ListFormFieldto useInputDecoration.suffixinstead ofsuffixIcon, so you can change the suffix icon.
0.18.1 Sep 29, 2024 #
- Added adapter support to
Form.key.
0.18.0 Sep 29, 2024 #
- Removed old deprecations.
- Deprecates
.valuesand.customValues. Unified to.toMap(). - Added
FormxSetupclass to configure Formx widgets. - Added
FileFormFieldwidgets. - Added
material_file_iconforFileFormFields. - Added
FormFieldStateExtension.isInitial. - Improved
FormState.isInitialperformance. - Updated examples and README.
0.17.2 Ago 9, 2024 #
- Added
adapterextension forList.
0.17.1 Ago 5, 2024 #
- Updated docs & linting.
0.17.0 Jul 31, 2024 #
- Added
FormxOptions.defaultTitle. Which applies a default String title for all collection fields.
0.16.3 Jul 19, 2024 #
- Added
Key.adapt, shorthand for adding an adapter.
0.16.2 Jul 2, 2024 #
- Added
FormxOption.enumAdapterto format enum inFormState.values.
0.16.1 Jun 28, 2024 #
- Improved
FieldKeyclass null safety. - Added
Key.list<T>extension. - Added
FieldKey<T>.toMapadapter. - Added
FieldKey<T>.toJsonadapter. - Added
FieldKey<List<T>>.mapadapter. - Added
FieldKey<Enum>.toNameadapter. - Added
FieldKey<Enum>.toIndexadapter. - Added
FieldKey<String>.toColoradapter.
0.16.0 Jun 27, 2024 #
- Added
FieldKeyclass andKeyadapter & modifiers extensions. - Make
unmaskfeature independant ofmask_text_input_formatterinternal state. - Deprecated all field apis inside
FormState. Usecontext.fieldinstead. - Added
DateFormFieldwidget. - Added
FormxOption.dateAdapterto format date inFormState.values.
0.15.0 Jun 24, 2024 #
- Added
FormxOptionsclass. - Added
Formx.optionsstatic variable. - Added
FormState.rawValuesgetter. - Updated
FormState.valuesgetter. - Added
FormState.customValuesmethod. - Added
FormState.debugmethod. - Added
context.debugFormmethod extension. - Added
IndentedMap.offactory constructor. - Included
mask_text_input_formatter. - Updated docs & README.
0.14.0 Jun 21, 2024 #
- Added
RadioListFormField.
0.13.0 Jun 19, 2024 #
- Added
CheckboxFormField. - Added
CheckboxListFormField. - Bump
string_validatorto 1.1.0.
0.12.2 May 22, 2024 #
- Added
List.mapJsonextension.
0.12.1 May 22, 2024 #
- Improved sanitizers and validators.
0.11.0 May 2, 2024 #
- Added
Validator.translatorfor translating error messages. - Removed
Validator.modifier.
Thanks to lizandraquaresma for the translator feature!
0.10.4 Apr 25, 2024 #
- Added several
Validatorextensions. - Updated
Map.cleanand addedMap.cleanedextension. - Updated
README.md. - Updated tests.
0.10.1 Apr 24, 2024 #
- Refactor: removed all
if case whenas they're not working on flutter web.
0.10.0 Apr 23, 2024 #
Breaking Update.
- Removed
Formxwidget in favor ocontext.formx(). - Added new
README.md.
0.9.2 Mar 25, 2024 #
- Added
Validator.testshorthand constructor with positional parameters. - Added
Map.cleanextension to remove null and empty values. - Fixed
FormState.setErrorTextthat was never reseting on validation. - Changed
FormState.setErrorTextto accept null to remove the errorText. - Updated examples and README.
0.9.1 Mar 22, 2024 #
- Fixed validation priority order.
0.9.0 Mar 21, 2024 #
- Changed
FormxBuildertypedef to followFormFieldBuildersignature from Flutter. - Added
FormxCastExtensionwithcastandtryCast.
0.8.0 Feb 24, 2024 #
Validator was cleaned up and simplified. Now it's a declarative class that can be used to create custom validators.
- Added
validatorsproperty toValidatorclass. - Removed
Validator.mergeconstructor, useValidator.validatorsinstead. - Removed
Validatormodifiers to make it excluively declarative. UseValidator.validatorsinstead.
0.7.1 Feb 12, 2024 #
- Added
Validatorclass to simplify the creation of custom validators. - Added
Validator.modifierto modify the errorText of a validator. - Added
FormFieldState.setErrorTextto seterrorTextprogrammatically. - Added smart AutovalidateMode to Formx. If null, starts with
AutovalidateMode.disabledand changes toAutovalidateMode.alwayswhen validated. - Added smart operators to FormxState, to get and set fields/nesteds.
- Added reset to FormxState, to reset all fields to their initial values.
0.7.0 Feb 10, 2024 #
Completely simplification of the library. Now Formx works with any FormField Widget! No need to use custom fields anymore. You can use TextFormField, DropdownButtonFormField or wrap/extend any widget to a FormField. Just add a key to it and you are good to go!
- Removed
TextFormxField,TextFormxFieldStateand it's extensions.
We realized that using extensions and callback modifiers was misleading users to use only the "new" approach. Which introduces unnecessaries new api's. We want to make it easier for developers to use Formx, as well as for others to understand it.
- Removed
errorTextModifier,fieldModifier,fieldWrapper,decorator,fieldWrapper,fieldModifierandvalueModifiercallbacks.
Formx is now a single widget that manages fields and their states.
0.6.1 Jan 30, 2024 #
- Changes
TextFormxFieldtag to named parameter. - Adds
FormxState.fieldto get a field value by tag, no matter how deep it is. - Adds
Formx.builderparameter for context and state access. - Added
TextFormxFieldState.hasInteractedByUser, same asFormFieldState.hasInteractedByUser. - Removed
Formx.at. - Changed
decorationModifiertodecorator.
0.5.1 Jan 23, 2024 #
- Added
Formx.disableValidatorsOnDebugModeto disable validators on debug mode. - Added
suffixIconextension toTextFormxFieldModifiers. - Added
prefixIconextension toFormxFieldModifiers.
0.5.0 Nov 13, 2023 #
- Added
FormxFieldandFormxFieldStateabstract interfaces.- Updated [FormxState.validate] you can validate by tag, tags, key or keys.
- Added [FormxState.setValue].
- Added [FormxState.didChange].
- Removed fieldKey param, use key directly with
FormxFieldStatefor GlobalKey type. - Removed FormxException. AssertErrors will be thrown instead, for best practices.
- Changes
TextFormxFieldModifiers.obscure, which now also makes the field required. - Added
complex_structureexample. - Added
page_viewexample.
0.4.0 Nov 07, 2023 #
-
Adds [Formx.valueModifier] and updates [FormxState.form] getter.
-
Adds [FormxState.save] and [Formx.onSaved] callback.
-
Adds [FormxState.reset].
-
Adds [FormxState.isValid].
-
Adds [FormxState.hasError].
-
Changes
onWidgettofieldWrapper. -
Changes
onFieldtofieldModifier. -
Changes
onDecorationtodecorationModifier. -
Changes
onErrorTexttoerrorTextModifier. -
Updates in code were made to better follow Effective Dart style and also improve developer experience:
- Adds
all_lint_rules.yaml. - Updates
analysis_optionsfor stricter lints. - Updates CHANGELOG style.
- Adds
0.3.13 Oct 23, 2023 #
- Bump to Flutter sdk 3.13.0.
- Adds support to TextFormField in sdk 3.13.0.
- Adds
undoControllerto TextFormxField. - Adds
onAppPrivateCommandto TextFormxField. - Adds
cursorOpacityAnimatesto TextFormxField. - Adds
selectionHeightStyleto TextFormxField. - Adds
selectionWidthStyleto TextFormxField. - Adds
dragStartBehaviorto TextFormxField. - Adds
contentInsertionConfigurationto TextFormxField. - Adds
clipBehaviorto TextFormxField. - Adds
scribbleEnabledto TextFormxField. - Adds
canRequestFocusto TextFormxField.
0.3.10 Oct 23, 2023 #
- Bump to Flutter sdk 3.10.0.
- Adds support to TextFormField in sdk 3.10.0.
- Adds
spellCheckConfigurationto TextFormxField. - Adds
magnifierConfigurationto TextFormxField.
0.3.7 Oct 23, 2023 #
- Bump to Flutter sdk 3.7.0.
- Adds support to TextFormField in sdk 3.7.0.
- Adds
contextMenuBuilderto TextFormxField. - Adds
onTapOutsideto TextFormxField.
0.3.0 Oct 23, 2023 #
- Adds support to TextFormField in sdk 3.0.0
- Adds FormxState.fill() method to autofill all nested fields.
- Adds Formx.at(context) and
maybeAtto access state below context. - Adds
Formx.errorTextsto access allerrorTextsby fieldtag. - Updates
FormxExceptionwith errorTexts parameter.
0.1.5 Sep 26, 2023 #
- Fixes initialValue conflict with TextEditingController.
- Fixes unnecessary didChange on setField.
0.1.1 Sep 23, 2023 #
- Fixes minor conflict with [onField].
0.1.0 Sep 22, 2023 #
- Initial pre-release.