From bae0c270fc0512c7cfc39e688668d9c913dd4422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Mon, 23 Sep 2024 14:21:18 +0200 Subject: [PATCH] user workspace validation context --- .../core/validation/controllers/validation.controller.ts | 2 +- .../user-workspace-profile-settings.element.ts | 2 ++ .../user/user/workspace/user/user-workspace.context.ts | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/packages/core/validation/controllers/validation.controller.ts b/src/packages/core/validation/controllers/validation.controller.ts index eac15a1308..80a819b598 100644 --- a/src/packages/core/validation/controllers/validation.controller.ts +++ b/src/packages/core/validation/controllers/validation.controller.ts @@ -219,7 +219,7 @@ export class UmbValidationController extends UmbControllerBase implements UmbVal /** * Validate this context, all the validators of this context will be validated. * Notice its a recursive check meaning sub validation contexts also validates their validators. - * @returns succeed {Promise} - Returns a promise that resolves to true if the validator succeeded, this depends on the validators and wether forceSucceed is set. + * @returns succeed {Promise} - Returns a promise that resolves to true if the validation succeeded. */ async validate(): Promise { // TODO: clear server messages here?, well maybe only if we know we will get new server messages? Do the server messages hook into the system like another validator? diff --git a/src/packages/user/user/workspace/user/components/user-workspace-profile-settings/user-workspace-profile-settings.element.ts b/src/packages/user/user/workspace/user/components/user-workspace-profile-settings/user-workspace-profile-settings.element.ts index 0d313eb130..c3a6a54501 100644 --- a/src/packages/user/user/workspace/user/components/user-workspace-profile-settings/user-workspace-profile-settings.element.ts +++ b/src/packages/user/user/workspace/user/components/user-workspace-profile-settings/user-workspace-profile-settings.element.ts @@ -6,6 +6,7 @@ import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import type { UmbChangeEvent } from '@umbraco-cms/backoffice/event'; import type { UmbUiCultureInputElement } from '@umbraco-cms/backoffice/localization'; +import { umbBindToValidation } from '@umbraco-cms/backoffice/validation'; @customElement('umb-user-workspace-profile-settings') export class UmbUserWorkspaceProfileSettingsElement extends UmbLitElement { @@ -79,6 +80,7 @@ export class UmbUserWorkspaceProfileSettingsElement extends UmbLitElement { @change="${this.#onEmailChange}" required required-message=${this.localize.term('user_emailRequired')} + ${umbBindToValidation(this)} value=${ifDefined(this._user?.email)}> `; diff --git a/src/packages/user/user/workspace/user/user-workspace.context.ts b/src/packages/user/user/workspace/user/user-workspace.context.ts index 18963318ec..5108384550 100644 --- a/src/packages/user/user/workspace/user/user-workspace.context.ts +++ b/src/packages/user/user/workspace/user/user-workspace.context.ts @@ -9,6 +9,7 @@ import type { UmbSubmittableWorkspaceContext } from '@umbraco-cms/backoffice/wor import { UmbSubmittableWorkspaceContextBase } from '@umbraco-cms/backoffice/workspace'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbObjectState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbValidationContext } from '@umbraco-cms/backoffice/validation'; type EntityType = UmbUserDetailModel; @@ -40,6 +41,8 @@ export class UmbUserWorkspaceContext constructor(host: UmbControllerHost) { super(host, UMB_USER_WORKSPACE_ALIAS); + this.addValidationContext(new UmbValidationContext(this)); + this.routes.setRoutes([ { path: 'edit/:id',