Собрать обработчик форм по следующим требованиям:
Обработчик должен быть оформлен в виде Jquery плагина. Плагин должен иметь возможности:
-
валидация данных
-
маска вводимых данных
-
Drug&Drop загрузчик файлов
-
иметь возможность изменения кастомного HTML шаблона вывода ошибки
-
иметь возможность изменения кастомного текста ошибки
-
иметь возможность выводить ошибки из массива, при наличии поля с различными вариантами текста ошибок
-
иметь возможность создания массива с текстом ошибок для каждого поля
-
Сохранять в кеш браузера введенные, но еще не отправленные данные. Если посетитель случайно закроет окно во время заполнения, то вновь открыв его он обнаружит введенный но не отправленный ранее текст
-
Валидация:
-
валидация поля type=tel - устанавливается при наличии маски.
-
валидация поля type=text
-
валидация по маске
-
по набору символов
-
валидация с фильтром запрещенных символов
-
валидация поля type=email
-
валидатор по умолчанию включен для всех полей
-
обязательные поля
-
устанавливаются присваиванием значения required тегу input
-
с использованием дата атрибута для нескольких полей объеденяет и делает обязательным к заполнению одно из них
-
добавляется через дата атрибут
-
placeholder не задействован и может выводить данные в дефолтном состоянии
-
при загрузке страницы маска должна "подхватывать" автозаполнение в форме, и приводить в нужное форматирование.
-
Drug&Drop функия:
-
показывает тип файла, или "превью" изображения
-
проверяет разрешенный тип файла к загрузке
-
проверяет разрешенный "вес" файла
-
для изображений:
-
проверяет разрешенную ширину и высоту
-
проверяет разрешенный формат "квадрат" или произвольное