Give landlords consistent, domain-aligned validation and recoverable errors when editing or completing their Profil bailleur through settings and completion workflows.
Acceptance criteria
Every user-editable profile field is paired with its actual backend request and domain constraint before changes are made.
Required identity, email, phone, and address facts show French inline guidance after touch or submit.
Backend field failures use the shared stable path/code contract and map to the matching profile control.
Unknown, conflict, network, and unexpected failures remain visible as safe form-level guidance without clearing entered values.
First-invalid focus, independent server-error clearing, and operation-local pending state match the Appartement reference behavior.
Existing settings and completion journeys remain usable and focused backend/frontend tests pass.
## Parent
#42
## What to build
Give landlords consistent, domain-aligned validation and recoverable errors when editing or completing their Profil bailleur through settings and completion workflows.
## Acceptance criteria
- [ ] Every user-editable profile field is paired with its actual backend request and domain constraint before changes are made.
- [ ] Required identity, email, phone, and address facts show French inline guidance after touch or submit.
- [ ] Backend field failures use the shared stable path/code contract and map to the matching profile control.
- [ ] Unknown, conflict, network, and unexpected failures remain visible as safe form-level guidance without clearing entered values.
- [ ] First-invalid focus, independent server-error clearing, and operation-local pending state match the Appartement reference behavior.
- [ ] Existing settings and completion journeys remain usable and focused backend/frontend tests pass.
## Blocked by
- #46
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Parent
#42
What to build
Give landlords consistent, domain-aligned validation and recoverable errors when editing or completing their Profil bailleur through settings and completion workflows.
Acceptance criteria
Blocked by
/blocked_by #46
mentioned in issue #59
mentioned in commit d86bbea1b1e6039b0a914ae0f1840001037d2341
Preserved GitLab #47 history: source attribution, exact timestamps, discussion grouping and review positions. Historical diff snapshots: 1; visible source notes: 3.
gitlab-47-issue-47.md (SHA-256
2e86158b4d8f98db73c92b8818cfd1b53c452d8dab91c70e3b40dc1eb3404602)gitlab-47-issue-47.json (SHA-256
dbc08ed6953da1e51e95718e1105ddfa0ad64c6990c1abeefc0909fa3bf8d15f)Old CI job execution and reports are omitted. Original source files and rollback backups remain protected.