From eaac515b30cbff10d0ad1e551cc602fdaf996e63 Mon Sep 17 00:00:00 2001 From: Markus Johansson Date: Wed, 8 Oct 2025 14:33:04 +0200 Subject: [PATCH] V16/bug/20035 validation context uncaught promise (#20036) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * #20035 Updated validation context example to reflect issue * Fixes #20035 by handling returned promise * just catch if it was rejected --------- Co-authored-by: Niels Lyngsø --- .../validation-context-dashboard.ts | 17 +++++++++-------- .../controllers/validation.controller.ts | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/examples/validation-context/validation-context-dashboard.ts b/src/Umbraco.Web.UI.Client/examples/validation-context/validation-context-dashboard.ts index 2d49d0e9c2..9ede3ea2e7 100644 --- a/src/Umbraco.Web.UI.Client/examples/validation-context/validation-context-dashboard.ts +++ b/src/Umbraco.Web.UI.Client/examples/validation-context/validation-context-dashboard.ts @@ -90,13 +90,13 @@ export class UmbExampleValidationContextDashboardElement extends UmbLitElement { 'City server-error message', '8dfc2f15-fb9a-463b-bcec-2c5d3ba2d07d', ); - if (this.country == '') - this.validation.messages.addMessage( - 'server', - '$.form.tab2.country', - 'Country server-error message', - 'd98624f6-82a2-4e94-822a-776b44b01495', - ); + } + + #checkValidity(){ + this.validation.validate().then( + () => true, + () => false, + ); } override render() { @@ -123,6 +123,8 @@ export class UmbExampleValidationContextDashboardElement extends UmbLitElement { Save
+ Check valid +

Validation Context Messages

${JSON.stringify(this.messages ?? [], null, 3)}
@@ -179,7 +181,6 @@ export class UmbExampleValidationContextDashboardElement extends UmbLitElement { type="text" .value=${this.country} @input=${(e: InputEvent) => (this.country = (e.target as HTMLInputElement).value)} - ${umbBindToValidation(this, '$.form.tab2.country', this.country)} required> diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/validation/controllers/validation.controller.ts b/src/Umbraco.Web.UI.Client/src/packages/core/validation/controllers/validation.controller.ts index cef80791f6..9293c8c7e3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/validation/controllers/validation.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/validation/controllers/validation.controller.ts @@ -355,7 +355,7 @@ export class UmbValidationController extends UmbControllerBase implements UmbVal this.#validators.push(validator); //validator.addEventListener('change', this.#onValidatorChange); if (this.#validationMode) { - this.validate(); + this.validate().catch(() => undefined); } }