feat(ux): улучшение работы с датами validFrom/validTo
Backend (defensive): - GlobalExceptionHandler ловит HttpMessageNotReadableException → 400 c понятным сообщением вместо 500 'Internal server error'. - DateTimeParseException → code='invalid_date_format', сообщение с подсказкой ISO формата (например 2026-05-08T14:30:00+03:00). - InvalidFormatException → code='invalid_field_format' с именем сломанного поля. - Раньше падало 500 если фронт отправлял 'YYYY-MM-DD' вместо OffsetDateTime (из-за browser cache на старом bundle). Frontend: - Submit-валидация validFrom < validTo с inline error на validTo поле, переключение на таб 'Идентификация' с фокусом на ошибке. - DateTimeField теперь принимает hint и error props и показывает их под парой DatePicker+TextInput[time]. - Подсказки i18n под полями: 'Когда запись становится активной. Пусто = с момента создания.' / 'Когда перестаёт действовать. Пусто = бессрочно.' - Новая i18n ключ form.error.validToBeforeFrom (RU/EN).
This commit is contained in:
@@ -38,7 +38,10 @@ i18n
|
||||
'form.tabs.extra': 'Дополнительно',
|
||||
'form.businessKey': 'Бизнес-ключ',
|
||||
'form.validFrom': 'Действует с',
|
||||
'form.validFromHint': 'Когда запись становится активной. Пусто = с момента создания.',
|
||||
'form.validTo': 'Действует до',
|
||||
'form.validToHint': 'Когда перестаёт действовать. Пусто = бессрочно.',
|
||||
'form.error.validToBeforeFrom': 'Дата окончания должна быть позже даты начала.',
|
||||
'form.dataFields': 'Поля записи',
|
||||
'form.cancel': 'Отмена',
|
||||
'form.save': 'Сохранить',
|
||||
@@ -152,7 +155,10 @@ i18n
|
||||
'form.tabs.extra': 'Additional',
|
||||
'form.businessKey': 'Business key',
|
||||
'form.validFrom': 'Valid from',
|
||||
'form.validFromHint': 'When this record becomes active. Empty = from creation moment.',
|
||||
'form.validTo': 'Valid to',
|
||||
'form.validToHint': 'When it stops being valid. Empty = forever.',
|
||||
'form.error.validToBeforeFrom': 'Valid-to must be later than valid-from.',
|
||||
'form.dataFields': 'Record fields',
|
||||
'form.cancel': 'Cancel',
|
||||
'form.save': 'Save',
|
||||
|
||||
Reference in New Issue
Block a user