glade_forms 5.0.0
glade_forms: ^5.0.0 copied to clipboard
A universal way to define form validators with support of translations.
5.0.0 #
Breaking change release
In order to introduce support for warning level validations, several breaking changes were made:
GladeInputError
was renamed toGladeInputValidation
to better reflect its purpose.GladeErrorKeys
was renamed toGladeValidationsKeys
ErrorTranslator
was renamed toValidationTranslator
to align with the new naming conventionsdevError
parameter inGladeValidator
methods was renamed todevMessage
to maintain consistency.translateError
parameter was renamed tovalidationTranslate
in bothGladeInput
andGladeModel
to better represent its functionality.DefaultTranslations
was renamed toDefaultValidationTranslations
to clarify its role in the validation process.- Rename
defaultErrorTranslate
todefaultValidationTranslate
inGladeModel
for consistency with other renamings.
New features:
GladeInputValidation
now includes anerrorSeverity
property, which can be eithererror
orwarning
.- The
GladeValidator
class was updated to support warning level validations. - The
GladeInput
class was modified to handle warning level validations appropriately - The
GladeModel
class was also updated to manage warning level validations effectively.
4.2.0 #
- Upgrade dependencies
- Upgrade to Flutter SDK 3.35.0
- Change constraint to Dart sdk: ">=3.8.0 <4.0.0"
4.1.2 #
- [Add]: Add
metaData
toSatisfyPredicatePart
andGladeValidator.satisfyPredicate()
to allow passing additional data. - [Add]: Add
getMaxLength()
inttoGladeStringInput
to get maximum length of the string ifmaxLength()
standard validator is used.
4.0.2 #
- [Fix]: Fix
ValueTransform
in nullable type does not allow null values.
4.0.1 #
- Fix
input.updateValue
shouldTriggerOnChange
parameter, so now next updates already triggeronChange
.- Add tests.
- Fix code so it is valid Dart 3.6.0 (Flutter 3.27).
4.0.0 #
Breaking change release
-
Specialized versions of inputs such as
IntInput
orStringInput
were renamed toGlade*Input
. -
Removed specialized version factories. Now specialized versions are sub-classes of GladeInput
- This removes the weird possibility to create calls such as
StringInput.intInput()
which in the end threw a runtime exception due to type mismatch.
- This removes the weird possibility to create calls such as
-
Renamed
valueConverter
increate()
factory to match internal namestringToValueConverter
which is more explicit -
Rename
resetToPure()
toresetToInitialValue()
-
Change
setAsNewPure
tosetNewInitialValue()
- Updates input to new initial value
- Optionally input's value can be reset into new initial value (
shouldResetToInitialValue
argument).
-
On Model level
- Rename
resetToPure()
toresetToInitialValue()
- Change
setAsNewPure
tosetInputValuesAsNewInitialValues()
- Updates all inputs to new initial value
- Optionally input's value can be reset into new initial value (
shouldResetToInitialValue
argument).
- Rename
-
Rename
GladeModelDebugInfo
toGladeFormDebugInfo
to align with other widgets. -
Rename
GadeModelDebugInfoModal
toGladeFormDebugInfoModal
. -
Rename ValidatorResult.
isInvalid
toisNotValid
to align with properties in GladeInput and GladeModel. -
Added
setNewInitialValueAsCurrentValue
method as shorthand for setting new initial value as current input's value. -
Added
GladeDateTimeInput
- specialized GladeInput for DateTime inputs. -
Added
inclusive
argument forint
validations. -
GladeIntInput
andGladeDateTimeInput
offer *Nullable versions to support null valuesStringInput
does not offer a nullable version as we believe that in most cases you don't really need to differentiate between a null string and an empty string. Feel free to open an issue if you disagree.
-
Added Add
isPositive()
andisNegative()
to Int validator. -
Added Add
validationErrors
getter as shorthand for getting input's error -
Added Add several extension methods on List of GladeInputError such as
hasErrorKey()
. -
Fixed Input did not propagate initialValue into TextEditingController.
-
Fixed Fix nullability value in
devError
callback in validator.
3.1.1 #
- Add typedefs
IntInput
andBooleanInput
- Fix GladeModelDebugInfo colors in DarkMode.
3.1.0 #
- updated dependencies
3.0.1 #
3.0.0 #
Breaking change release
- [Add]: Add
allowBlank
parameter toisEmpty
string validator. - [Add]: Add
IntInput
as a specialized variant of GladeInput - [Add]: Support skipping particular validation with
shouldValidate
callback. - [Breaking]: The
resetToPure
method on both GladeInput and GladeModel has been renamed tosetAsNewPure
. This change better reflects the method's behavior of setting a new pure state rather than resetting to the original state. - [Add]: New
resetToPure
method added to both GladeInput and GladeModel. This method truly resets the input(s) to their initial value(s) and marks them as pure.
2.3.0 #
- RETRACTED version, should be 3.0.0
2.2.0 #
- [Add]: Add
resetToPure
on model level.
2.1.0 #
- [Add]: Add
defaultTranslateError
on model level.
2.0.1 #
- [Fix]: Fix
isUri()
to handle URL corectly
2.0.0 #
- [Breaking]: TextEditingController is no more created automatically. When TextEditingController is used, input's behavior is slightly changed. See README.md for full info.
- [Breaking]: GladeInput's controller is now private. Use factory constructors to create input.
- [Breaking]:
Extra
parameter removed - [Breaking]:
dependencies
are no longer passed intoonChange
and in validator. - [Breaking]: GladeInput is no longer ChangeNotifier
- [Add]: onDependencyChange - callback is called when any (or multiple with groupEdit()) dependency was udpated.
- Improvement: GladeModelDebugInfo now colorize String values to visualize whitespace.
1.6.0 #
- Improvement: GladeModelDebugInfo is more colorful and polished.
- Improvement: Support deep collection equality when comparing
value
andinitialValue
. - [Feat]:
allInputs
getter to support "dynamic" model's inputs validation.
1.5.0 #
- [Feat]: Add
updateWhenNotNull
to support shorthand syntax for Widgets with nullable type parameter.
1.4.0 #
- [Feat]: Support non-data-holding inputs to enable "view" inputs.
- [Feat]: Add the
shouldTriggerOnChange
parameter toupdateValue
so one can opt-out fromonChange
callback being triggered. - [Fix]: Export
ChangesInfo
.
1.3.2 #
- [Fix]:
GladeInput
now preserves selection. (Before, a cursor jumped at the end.)
1.3.1 #
- [Fix]: Fixed
GladeInput.create
assert to allow null forvalue
andinitialValue
when input's type is nullable.
1.3.0 #
- [Fix]: When using
GladeInput.create
, passing onlyvalue
ended up in UI vs model not being synced. Now that's fixed. - [Breaking]: StringInput only works with
String
now.
1.2.1 #
- [Fix]: Value passed to factory constructor is not reflected in TextController.
1.2.0 #
- [Feat]: Add
GladeFormListener
widget allowing to listen for model's changes - [Feat]: Add
groupEdit()
method in GladeModel allows to update multiple inputs at once.- Works great with
GladeFormListener
- Works great with
- [Feat]: Add
valueTransform
in GladeInput. Transform value before it is assigned into value.- Firstly
stringToTypeConverter
is called if needed, thenvalueTransform
.
- Firstly
- [Feat]: Add
updateValue(T value)
as shorthand for inputs when field is not TextField. - [Feat]: Add
resetToPure
method allowing to reset input into pure state. - [Fix]: Conversion error does not update model's stats and formatted errors.
1.1.2 #
- Fix links in readme
1.1.1 #
- Improve Readme
1.1.0 #
- [Feat]: Add
onChange
- support for listening changes and potentially update other inputs based on change
- [Feat]: GladeInput exports TextEditingController now for connecting it with FormField properly
- [Breaking]: StringInput is now alias. Use
GladeInput.stringInput
to create string variant
1.0.1 #
- Fix example
1.0.0 #
- Initial version.