From 73b96c870f0006c05ac55c36a6511517eb47d9eb Mon Sep 17 00:00:00 2001 From: Mariya Yordanova Date: Wed, 20 May 2026 11:04:08 +0200 Subject: [PATCH 1/3] clarify @mandatory is not validated in deep updates, fix wrong info regarding Fiori --- guides/services/constraints.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/guides/services/constraints.md b/guides/services/constraints.md index aaa6b0db51..1fe5d112ae 100644 --- a/guides/services/constraints.md +++ b/guides/services/constraints.md @@ -368,7 +368,8 @@ service Sue { } ``` -In addition to server-side input validation as introduced above, this adds a corresponding `@FieldControl` annotation to the EDMX so that OData / Fiori clients would enforce a valid entry, thereby avoiding unnecessary request roundtrips: +In addition to server-side input validation as introduced above, this adds a corresponding `@FieldControl` annotation to the EDMX. + ```xml @@ -376,6 +377,10 @@ In addition to server-side input validation as introduced above, this adds a cor ``` +::: warning Deep updates not covered +`@mandatory` validation is **not** applied to nested data in deep update operations. To enforce mandatory values in those cases, use the [`not null` constraint](../../cds/cdl#constraints) instead. +::: +
From 8b50ac527bb565d4c5437e38d253651a64a2a3e5 Mon Sep 17 00:00:00 2001 From: mariayord Date: Wed, 20 May 2026 15:17:03 +0200 Subject: [PATCH 2/3] removed section, as it is mentioned already in Field Control below --- guides/services/constraints.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/guides/services/constraints.md b/guides/services/constraints.md index 1fe5d112ae..01f855d882 100644 --- a/guides/services/constraints.md +++ b/guides/services/constraints.md @@ -368,15 +368,6 @@ service Sue { } ``` -In addition to server-side input validation as introduced above, this adds a corresponding `@FieldControl` annotation to the EDMX. - - -```xml - - - -``` - ::: warning Deep updates not covered `@mandatory` validation is **not** applied to nested data in deep update operations. To enforce mandatory values in those cases, use the [`not null` constraint](../../cds/cdl#constraints) instead. ::: From fa73d2d17538a20d0ce2507116b1feade8de3cd0 Mon Sep 17 00:00:00 2001 From: mariayord Date: Tue, 9 Jun 2026 15:40:07 +0200 Subject: [PATCH 3/3] Update guides/services/constraints.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: René Jeglinsky --- guides/services/constraints.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guides/services/constraints.md b/guides/services/constraints.md index 01f855d882..9408affa9f 100644 --- a/guides/services/constraints.md +++ b/guides/services/constraints.md @@ -372,6 +372,8 @@ service Sue { `@mandatory` validation is **not** applied to nested data in deep update operations. To enforce mandatory values in those cases, use the [`not null` constraint](../../cds/cdl#constraints) instead. ::: +[Learn more about `@Fieldcontrol` annotation with `@mandatory`.](#mandatory-1){.learn-more} +