ITVDN logo
Видеокурсы по
программированию

Доступ более чем к 7700 видеоурокам от $19.99

Подписка
ITVDN logo
Видеокурсы по
программированию

Доступ более чем к 7700 видеоурокам от $19.99

Подписка

Введение 

Используя формы в HTML5, Вы часто используете методы проверки (валидации) данных, ведь их игнорирование может привести: к потерям пользователей,к мусору в базе данных или к взлому сайта. Исторически сложилось, что создание форм с хорошей валидацией – сложная задача.

В HTML5 есть инструменты обработки данных для форм, с их помощью можно производить валидацию, включающую в себя специальные атрибуты и новые типы входных данных. Давайте разберем их детальнее.


1. Специализированные типы входных данных

В HTML5 введены несколько новых типов ввода. Они используются для создания поля ввода, принимающего только определенные типы данных.

Новые типы входных данных выглядят следующим образом:

  • color
  • date
  • datetime
  • datetime-local
  • email
  • month
  • number
  • range
  • search
  • tel
  • time
  • url
  • week

Пример:

<input type="email"/>

Если браузер не поддерживает данный тип ввода, поле будет вести себя, как обычное поле ввода текста. 

2. Обязательные поля для заполнения 

Просто добавив атрибут "required" к <input>, <selectили <textarea>. , Вы говорите браузеру, что значение должно быть заполнено.

<input type="checkbox" name="terms" required >

 

3. Лимиты

Мы можем установить некоторые ограничения и лимиты, например, максимальные и минимальные значения для числовых полей. Чтобы ограничить длину поля ввода надо использовать атрибут "maxlength". 

<input type="text" name="name" required  maxlength="15">

Поле <input type="number" />  использует атрибуты "max"и "min", чтобы создать диапазон возможно-допустимых значений (в примере минимально допустимый возраст 18) 

<input type="number" name="age" min="18" required>

 

4. Стилизирование

CSS3 псевдо-классы позволяют украсить форму в не зависимости от ее состояния. Это:

  • :valid
  • :invalid
  • :required
  • :optional
  • :in-range
  • :out-of-range
  • :read-only
  • :read-write

В примере мы объединили селекторы "valid" и "invalid" с псевдо-классом "focus" для закрашивания поля формы в красный или зеленый, в зависимости от того, что делает пользователь: выбирает или печатает.

 input:focus:invalid,

textarea:focus:invalid{

    border:solid 2px #F5192F;

}

input:focus:valid,

textarea:focus:valid{

    border:solid 2px #18E109;

    background-color:#fff;

}

 

5. Подсказки

Вы замечали всплывающее окно с подсказкой при отправлении неправильно заполненной формы? Установив атрибут "title" для поля ввода, можно добавить подсказки, указывающие на ошибки при нарушении тех или иных правил валидации.

Обратите внимание, что разные браузеры отображают всплывающие подсказки по-разному. В браузере Chrome значение названия атрибута будет отображаться мелким шрифтом, под основным сообщением об ошибке. В Firefox другая проблема: использовав атрибут “pattern” после того как он берется в качестве шаблона, Вы не получите всплывающую подсказку.

 <input type="text" name="name" title="Пожалуйста введите имя пользователя.">

 

6. Шаблоны

Атрибут "pattern", разрешает разработчикам задавать регулярное выражение, которое браузер сравнивает с данными ввода, прежде чем отправить форму заявки.

Вот как это можно использовать:

<input type="email" name="email" required pattern="^\S+@\S+\.\S+$" title="example@mail.com">

 С функцией фильтрования входных данных мы можем принимать только полный e-mail адрес.

Источник: http://tutorialzine.com/2014/12/quick-tip-easy-form-validation-with-html5/

СТАТЬИ ПО СХОЖЕЙ ТЕМАТИКЕ
ВИДЕО КУРСЫ ПО СХОЖЕЙ ТЕМАТИКЕ
КОМЕНТАРИИ И ОБСУЖДЕНИЯ
ОЦЕНИТЕ ДАННЫЙ МАТЕРИАЛ

ПОДПИСКА НА ITVDN ВЫГОДА ДО 29.95$ НА ОБУЧЕНИЕ ПРЕСТИЖНЫМ ПРОФЕССИЯМ!

1 месяц19.99$
подписка

легкий старт в обучении

3 месяца49.99$
подписка

выгода от подписки до9.98$

6 месяцев89.99$
подписка

выгода от подписки до29.95$