chore: make form validity API async #12909
Open
+50
−26
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WIP
The problem: form validity functionality has a lifecycle, independent of the rendering cycle, and can be triggered before the
definePromiseis resolved and CLDR/translations are available. This is an issue for any component that relies on CLDR or message bundles to return proper form validity information.Changes:
UI5Element.tsnow exposes a new getterdefinePromiseSafethat makes it easy for other modules to accessthis.constructor.definePromiseInputElementsFormSupport.tsgetters can all now additionally return a Promise that resolves to whatever the getter used to return previously. Old syntax still supported. Only components with special requirements have to return a promise, all others can still directly return objects/strings, etc.StepInput.tsimplements the new changes as a pilotcloses: #12785