Skip to content

Conversation

@vladitasev
Copy link
Contributor

@vladitasev vladitasev commented Jan 14, 2026

WIP

The problem: form validity functionality has a lifecycle, independent of the rendering cycle, and can be triggered before the definePromise is 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.ts now exposes a new getter definePromiseSafe that makes it easy for other modules to access this.constructor.definePromise
  • InputElementsFormSupport.ts getters 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.ts implements the new changes as a pilot

closes: #12785

@ui5-webcomponents-bot
Copy link
Collaborator

ui5-webcomponents-bot commented Jan 14, 2026

@ui5-webcomponents-bot ui5-webcomponents-bot temporarily deployed to preview January 14, 2026 15:15 Inactive
await this._processChildren();
}

if (!ctor.asyncFinished) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is not the same - if the asyncFinished is true, the promise is not awaited and the whole method remains sync. if you await (even a finished promise), the method becomes async

@ui5-webcomponents-bot ui5-webcomponents-bot temporarily deployed to preview January 15, 2026 07:43 Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[framework]: CLDR data is loaded after component "formValidity" is fired

4 participants