Make Appartement document uploads validate every landlord-correctable metadata and file constraint before or after submission with actionable, operation-local feedback.
Acceptance criteria
Document type, establishment date, expiry date, file presence, accepted content, and size are audited against the current backend rules.
Avoidable invalid metadata is blocked in Angular with French guidance at the matching control.
Backend validation and classified file failures use stable field errors or safe operation-level messages as appropriate.
## Parent
#42
## What to build
Make Appartement document uploads validate every landlord-correctable metadata and file constraint before or after submission with actionable, operation-local feedback.
## Acceptance criteria
- [ ] Document type, establishment date, expiry date, file presence, accepted content, and size are audited against the current backend rules.
- [ ] Avoidable invalid metadata is blocked in Angular with French guidance at the matching control.
- [ ] Backend validation and classified file failures use stable field errors or safe operation-level messages as appropriate.
- [ ] Failed uploads preserve selected metadata, prevent duplicate submission, and leave existing documents available.
- [ ] Replacing or deleting a document retains truthful local pending and error state.
- [ ] Existing backend document web tests, Angular component/service tests, and relevant checks 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
Make Appartement document uploads validate every landlord-correctable metadata and file constraint before or after submission with actionable, operation-local feedback.
Acceptance criteria
Blocked by
/blocked_by #46
mentioned in issue #59
mentioned in commit 7cb40d804123445a83d8994c65b126748bfe2e84
Preserved GitLab #51 history: source attribution, exact timestamps, discussion grouping and review positions. Historical diff snapshots: 1; visible source notes: 3.
gitlab-47-issue-51.md (SHA-256
df54d0654cd039e9f460aa71cdfa92badc62a838824e72b890ed732534efac63)gitlab-47-issue-51.json (SHA-256
200010fff39e9fadcdf03fa6d661bba8301b814440a65f54097e43df91ecdb8d)Old CI job execution and reports are omitted. Original source files and rollback backups remain protected.