Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.03.2022, 12:02
Новичок на форуме
Отправить личное сообщение для kihodo9t Посмотреть профиль Найти все сообщения от kihodo9t
 
Регистрация: 19.03.2022
Сообщений: 2

Создание панели управления студентами
Помогите решить задачу:
Создайте панель управления студентами, на которой будут располагаться

таблица со студентами с фильтрами и сортировкой
форма добавления нового студента
Студенты должны храниться в массиве. Каждый студент - объект, содержащий следующие данные:

имя
фамилия
отчество
дата рождения (объект Date)
год начала обучения
факультет (строка)
Для добавления студентов на странице должна выводиться форма с полями, соответствующими данным студента. Форма должна проходить валидацию по следующим правилам:

все поля обязательны для заполнения после применения к значению метода trim()
дата рождения находится в диапазоне от 01.01.1900 до текущей даты
год начала обучения находится в диапазоне от 2000-го до текущего года
Валидация должна происходить после нажатия на кнопку "добавить студента", расположенную под полями для ввода. Если валидация прошла успешно, то все поля очищаются, а новый студент добавляется в таблицу. В противном случае над кнопкой нужно вывести сообщения с описанием ошибок для пользователя. Тексты сообщений остаются на ваше усмотрение, но должны дать достаточно информации, чтобы понять какие ошибки в каких полях были допущены.

Данные из массива должны выводиться в табличном виде. Каждая строка таблицы содержит информацию об одном студенте. Колонки таблицы:

ФИО студента
Факультет
Дата рождения и возраст в формате "31.12.2000 (20 лет)". Возраст должен быть вычислен из даты рождения.
Годы обучения и номер курса в формате "2019-2023 (2 курс)". Считается, что все студенты учатся 4 года, то есть диапазон с годами обучения выводится как {год начала обучения}-{+4 года}. Если сентябрь года окончания обучения уже прошёл, в скобках вместо указания курса нужно должно выводиться "закончил".
Первая строка таблицы - заголовочная, в ней указываются заголовки колонок (ФИО, Факультет, ДР и возраст, Годы обучения). При нажатии на ячейку заголовочной строки должна происходить сортировка по соответствующим полям студентов:

ФИО сортирует по соединённой строке из фамилии, имени и отчества по алфавиту по возрастанию
Факультет - по факультету по алфавиту по возрастанию
ДР и возраст - по дате рождения по возрастанию
Годы обучения - по году начала обучения
Перед таблицей также нужно вывести фильтры, состоящие из полей:

ФИО для поиска подстроки в фамилии, имени или отчестве
Факультет для поиска подстроки в названии факультета
Год начала обучения (точное совпадение)
Год окончания обучения (точное совпадение)
При любых изменениях в полях для фильтрации содержимое таблицы должно измениться в соответствии с указанными фильтрами. Если указано несколько фильтров, то все они применяются к массиву студентов по очереди.
Ответить с цитированием
  #2 (permalink)  
Старый 19.03.2022, 12:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

kihodo9t,
попробуйте сделать сами, прежде чем открыть ссылку ниже
https://javascript.ru/forum/events/8...tml#post542171
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание landing page, web-приложений на C#, сайтов под ключ на PHP MidGold Работа 4 26.03.2019 04:13
BrainyCP - новая бесплатная панель управления сервером stmn Оффтопик 0 21.08.2017 09:26
KeyHelp - Бесплатная панель управления сервером! KeyHelp Оффтопик 2 15.06.2016 15:13
Новая система управления сайтом Scripto CMS deepslam Ваши сайты и скрипты 38 31.01.2011 14:55
Блокирование кнопок управления окном браузера usernew Events/DOM/Window 5 08.12.2009 09:20