Как сделать поле ввода года и вычисление количества лет до сегодняшнего дня?

29 июня 2020 в 15:54
Аватар пользователя VasyOK VasyOK 0 10

Казалось бы, простая задача: сделать поле "Год начала практики" для пользователя и вывести "Опыт работы, лет" (сегодняшний год минус год начала практики).
Но не пойму что для этого использовать. Модуль Datetime включен. Поле типа Date создал. А где там ограничение ввода только года и диапазон вводимых лет? Неужели в 8ке нужно пользховаться костылями типа yearonly?

Комментарии

Высчитать количество лет - это второй вопрос.
А первый - задать год в поле. И я вот не вижу, как это в 8ке сделать.

29 июня 2020 в 18:01

В смысле для максимального значения? Ну да, есть такое неудобство...
А для даты можно условный/расчетный максимум задать? Я там что-то не видел такого, но и не искал специально.

29 июня 2020 в 18:37

Допустим в настройках поля "Год начала практики" диапазон разрешенных значений от 1970 - до 2020.
В следующем году будет от 1971 - до 2021. Но те кто ввел 1970 и через год захотят отредактировать свой профиль получат ошибку.

30 июня 2020 в 8:56

VasyOK wrote: В следующем году будет от 1971 - до 2021. Но те кто ввел 1970 и через год захотят отредактировать свой профиль получат ошибку.

Ничего не понимаю. Если 1970 - валидное значение, то почему "В следующем году будет от 1971"?
Если диапазон допустимых годов подчиняется каким-то хитрым правилам, то я не вижу других выходов кроме [очень нехитрого] программирования.
PS А вот кстати модулёк интересный - может подойдёт? Field Validation

30 июня 2020 в 9:15

Допустим максимальный предполагаемый стаж: 50 лет. И в следующем году минимальное значение поля будет изменено.

30 июня 2020 в 9:17