РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
116 of 126 menu

Валидатор

Реализуйте библиотеку для валидации строк.

Основные возможности проекта

  • Библиотека для валидации строк с большим набором правил.
  • Встроенные правила для email, доменов, номеров телефонов и т.д.
  • Возможность добавления кастомных правил.
  • Кастомизация сообщений об ошибках.
  • Публикация на GitHub с документацией.

Функциональность библиотеки

Библиотека должна предоставлять следующие возможности:

  • Проверка строки на соответствие правилам.
  • Возврат массива ошибок или true/false.
  • Поддержка цепочки правил (валидация по нескольким правилам одновременно).
  • Кастомизация сообщений об ошибках.

Встроенные правила

Библиотека должна содержать следующие правила валидации:

  • required - строка не должна быть пустой.
  • min - минимальная длина строки.
  • max - максимальная длина строки.
  • email - проверка на корректный email.
  • emailDomain - проверка домена email (например, только gmail.com).
  • emailMX - проверка существования MX-записи домена email.
  • url - проверка на корректный URL (с http:// или https://).
  • domain - проверка на корректное доменное имя (например, example.com).
  • phone - проверка на корректный номер телефона (поддержка разных стран).
  • phoneRU - проверка на корректный российский номер телефона.
  • alpha - только буквы (латиница).
  • alphaRU - только буквы (кириллица и латиница).
  • numeric - только цифры.
  • alphanumeric - только буквы и цифры.
  • integer - целое число.
  • float - число с плавающей точкой.
  • date - проверка на корректную дату в формате YYYY-MM-DD.
  • dateRU - проверка на корректную дату в формате ДД.ММ.ГГГГ.
  • time - проверка на корректное время в формате HH:MM.
  • ip - проверка на корректный IP-адрес (IPv4).
  • ipv6 - проверка на корректный IP-адрес (IPv6).
  • password - проверка сложности пароля (минимум 8 символов, буквы, цифры, спецсимволы).
  • regex - проверка по регулярному выражению.

Кастомные правила

Пользователь должен иметь возможность добавлять свои правила:

  • Передать функцию, которая принимает строку и возвращает true/false.
  • Передать регулярное выражение для проверки.

Использование библиотеки

Пример использования библиотеки:

  • Подключить JS-файл с библиотекой.
  • Создать экземпляр валидатора.
  • Задать правила для валидации.
  • Вызвать метод validate() для проверки строки.

Сообщения об ошибках

Библиотека должна позволять:

  • Использовать стандартные сообщения об ошибках.
  • Переопределять сообщения для каждого правила.
  • Переопределять сообщения для конкретного поля.

Публикация на GitHub

Библиотека должна быть выложена на GitHub с:

  • README.md с описанием и инструкцией по установке.
  • Демо-страницей с примерами использования.
  • Исходным кодом библиотеки.

Тестирование

Библиотека должна быть протестирована на:

  • Корректной работе всех встроенных правил.
  • Работе кастомных правил.
  • Обработке ошибок при неправильных параметрах.

Дополнительные возможности

  • Валидация объектов (несколько полей одновременно).
  • Локализация сообщений об ошибках (русский, английский).
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить