- Add some
state
property to the Bindings to dump the internal state of a field validator/converter chain for debugging. ** Support named validators and converters for better readability - Add some more linting rules to find potential issues
- Fix "cannot redefine property" issues with newest MobX 6 versions. This might break code that expects "unbound" fields to somehow work.
- Upgrade to MobX 6 and removal of internal decorator usage
- Please check the https://mobx.js.org/migrating-from-4-or-5.html[MobX migration guide] for general changes
- mobx-binder 1.x does not rely on experimentalDecorators any more by itself
- Condition "required" status and validation using
isRequired(key, condition)
. - Some more docs incl. corrections about conditional validation.
- Remove the deprecated and non-validating
Binding.validate()
- the computed propertyvalidaty
now gives synchronous access to the validation status and result - New module
mobx-binder-dayjs
with validation and conversion support comparable to that ofmobx-binder-moment
. - Various updates to the sample implementation code
- Removing automatism of converting empty strings to
undefined
. Instead, one can usebinder.forField().withStringOrUndefined()
or simplybinder.forStringField()
to configure the same behaviour explicitly.
- Stricter type checking - you are now required to specify nullable types explicitly, like in Field types and in Converters
- Migration to eslint rule set and prettier code style
- New
TrimConverter
for trimming string based field contents - On blur events, changes made by converters are applied back to fields - like for trimming.
binding.validate()
is now deprecated as validity is now always up-to-dateValidationError
used to emit validation errors in conversions now has it's result invalidationResult
property instead ofresult
- Internal refactoring to improve maintainability