Rendre la validation des Espaces privatifs actionnable #44

Closed
opened 2026-07-24 17:45:57 +02:00 by nessar · 4 comments
nessar commented 2026-07-24 17:45:57 +02:00 (Migrated from 172.24.0.1:8928)

Parent

#41

What to build

Let a landlord save an Appartement with no Espace privatif, while making every added Espace privatif complete and actionable across backend validation, Angular controls, and tests.

Acceptance criteria

  • An Appartement with no Espace privatif remains valid for creation and editing.
  • Every added Espace privatif visibly requires a trimmed nonblank label; whitespace-only labels are rejected inline.
  • Family and subtype controls permit only compatible domain combinations and retain the existing derived main-room count.
  • Backend validation returns indexed field paths and stable codes for every invalid nested Espace privatif in one response.
  • An invalid submit focuses the first invalid dynamic card, preserves every card, and editing one field clears only its server error.
  • Technical ID failures remain backend-protected without inventing an editable ID control.
  • Component, backend HTTP, and composed-form tests cover the slice and relevant checks pass.

Blocked by

## Parent #41 ## What to build Let a landlord save an Appartement with no Espace privatif, while making every added Espace privatif complete and actionable across backend validation, Angular controls, and tests. ## Acceptance criteria - [ ] An Appartement with no Espace privatif remains valid for creation and editing. - [ ] Every added Espace privatif visibly requires a trimmed nonblank label; whitespace-only labels are rejected inline. - [ ] Family and subtype controls permit only compatible domain combinations and retain the existing derived main-room count. - [ ] Backend validation returns indexed field paths and stable codes for every invalid nested Espace privatif in one response. - [ ] An invalid submit focuses the first invalid dynamic card, preserves every card, and editing one field clears only its server error. - [ ] Technical ID failures remain backend-protected without inventing an editable ID control. - [ ] Component, backend HTTP, and composed-form tests cover the slice and relevant checks pass. ## Blocked by - #43
nessar commented 2026-07-24 17:45:57 +02:00 (Migrated from 172.24.0.1:8928)

/blocked_by #43

/blocked_by #43
nessar commented 2026-07-24 17:45:59 +02:00 (Migrated from 172.24.0.1:8928)

mentioned in issue #46

mentioned in issue #46
nessar commented 2026-07-24 20:02:04 +02:00 (Migrated from 172.24.0.1:8928)

mentioned in commit c1b7c709a8ec94f9ee55cf7ff904e7f3543c0d8a

mentioned in commit c1b7c709a8ec94f9ee55cf7ff904e7f3543c0d8a
nessar (Migrated from 172.24.0.1:8928) closed this issue 2026-07-26 19:21:36 +02:00

Preserved GitLab #44 history: source attribution, exact timestamps, discussion grouping and review positions. Historical diff snapshots: 1; visible source notes: 3.

gitlab-47-issue-44.md (SHA-256 077f31a63aadc79af2a66deff143221b8eb93725cc868711a2a8e020589c2f29)

gitlab-47-issue-44.json (SHA-256 da34da45de94020b8e3780addc276ee07aa3669fdf8807b0e4ebb42b4d9d7222)

Old CI job execution and reports are omitted. Original source files and rollback backups remain protected.

<!-- gitlab-to-gitea-history:47:Issue:44 --> Preserved GitLab #44 history: source attribution, exact timestamps, discussion grouping and review positions. Historical diff snapshots: 1; visible source notes: 3. [gitlab-47-issue-44.md](https://gitea.nessar.fr/attachments/b95d5389-f397-4668-ac6e-1a8d1f90154c) (SHA-256 `077f31a63aadc79af2a66deff143221b8eb93725cc868711a2a8e020589c2f29`) [gitlab-47-issue-44.json](https://gitea.nessar.fr/attachments/ef09f7d6-507d-4394-8c30-e0a3c8bb7422) (SHA-256 `da34da45de94020b8e3780addc276ee07aa3669fdf8807b0e4ebb42b4d9d7222`) Old CI job execution and reports are omitted. Original source files and rollback backups remain protected.
gitea-emergency added this to the Development project 2026-10-11 22:14:36 +02:00
gitea-emergency moved this to Closed in Development on 2026-10-11 22:14:36 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nessar/lmnp-organizer#44