Align the core Bail creation, editing, and amendment inputs with their save-time backend/domain rules so landlords receive immediate French guidance for parties, dates, and financial terms.
Acceptance criteria
Appartement, Locataire, Bail type, dates, rent, charges, deposit, due day, and other core inputs are audited against the current lifecycle-specific domain rules.
Angular mirrors every user-correctable save-time constraint without promoting readiness or legal warnings into premature blockers.
Backend validation returns all core Bail field failures through stable paths/codes before invoking the use case.
Creation, editing, and amendment failures map to controls, preserve values, focus the first invalid input, and clear independently after correction.
Conflicts and legal warnings remain distinct from invalid input and retain their existing override or recovery semantics.
Focused domain/web/form tests cover nuanced date and monetary cases and relevant checks pass.
## Parent
#42
## What to build
Align the core Bail creation, editing, and amendment inputs with their save-time backend/domain rules so landlords receive immediate French guidance for parties, dates, and financial terms.
## Acceptance criteria
- [ ] Appartement, Locataire, Bail type, dates, rent, charges, deposit, due day, and other core inputs are audited against the current lifecycle-specific domain rules.
- [ ] Angular mirrors every user-correctable save-time constraint without promoting readiness or legal warnings into premature blockers.
- [ ] Backend validation returns all core Bail field failures through stable paths/codes before invoking the use case.
- [ ] Creation, editing, and amendment failures map to controls, preserve values, focus the first invalid input, and clear independently after correction.
- [ ] Conflicts and legal warnings remain distinct from invalid input and retain their existing override or recovery semantics.
- [ ] Focused domain/web/form tests cover nuanced date and monetary cases 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
Align the core Bail creation, editing, and amendment inputs with their save-time backend/domain rules so landlords receive immediate French guidance for parties, dates, and financial terms.
Acceptance criteria
Blocked by
/blocked_by #46
mentioned in issue #50
mentioned in issue #59
mentioned in commit 420a86d41d449fb59d1de5c86f02931dd409b172
Preserved GitLab #49 history: source attribution, exact timestamps, discussion grouping and review positions. Historical diff snapshots: 1; visible source notes: 4.
gitlab-47-issue-49.md (SHA-256
84c172c3407b5e0e3227fb833452b25a534d1c8cba7b4800b224e15bf083a9b0)gitlab-47-issue-49.json (SHA-256
d95ab1d7c4e7a03f034a71964b70355ce68f146d38f7fdfed0a13b798b267641)Old CI job execution and reports are omitted. Original source files and rollback backups remain protected.