Валидация данных

Что такое валидация данных?

Проверка данных означает рассмотрение входящих данных и проверки того, что они готовы для использования, прежде чем делать что-нибудь еще с ними. «Входящие данные», как правило, означает, что данные поступают из формы, предоставленной пользователю,  но это также могут быть данные, поступающие от любого внешнего источника (например, RSS-каналы, AJAX запросы, других вызовов API). Некоторые простые примеры валидации данных:

  • Убедитесь, что обязательные поля заполнены
  • Убедитесь, что введенный номер телефона содержит только цифры и пунктуацию
  • Убедитесь, что введенный почтовый индекс является реальным почтовым индексом
  • Убедитесь, что поле для ввода количества больше чем 0

Валидация данных должна быть выполнена как можно раньше, насколько это возможно. В случае обработки формы, это означает проверку данных, прежде чем делать что-нибудь еще с ними. Проверка формы может быть выполнена с помощью JavaScript, прежде чем форма будет отправлена, а затем с помощью PHP после отправки формы. Данные, поступающие из других источников почти всегда будут проверяться с помощью PHP.

Как выполняется проверка данных?

Есть по крайней мере три способа: встроенные в PHP функции, функции ядра WordPress и пользовательские функции, которые Вы напишете.

Встроенные PHP функции

Основные проверки выполнимы с помощью многих встроенных в PHP функций, в том числе следующих:

  • isset() и empty() для проверки существования переменной и проверки что она не пустая
  • mb_strlen() или strlen() для проверки того, что строка имеет ожидаемое количество символов
  • preg_match(), strpos() для проверки на предмет наличия определенных строк в других строках
  • count() для проверки того, сколько элементов в массиве
  • in_array() для проверки, существует ли что-то в массиве

Функции ядра WordPress

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

  • is_email() будет проверять действителен ли адрес электронной почты.
  • term_exists() проверяет, существует ли тег, категория, или другой термин таксономии.
  • username_exists() проверяет, существует ли имя пользователя.
  • validate_file() будет проверять, что введенный путь к файлу является реальный (путь существует, но не проверяет существование файла).

Посетите WordPress code reference для поиска других подобных функций. Поищите функции с именами, подобные этим: *_exists(), *_validate() и  is_*(). Не все из них являются функциями валидации, но многие из них полезны.

Пользовательские PHP и JavaScript функции

Вы можете написать свои собственные PHP и JavaScript функции и включить их в вашу тему или плагин. При написании функции проверки, именуйте функции как вопрос (примеры: is_phone, is_available, is_us_zipcode). В конце функции возвращайте булев тип, что сделает ее простой при использовании в условиях.

Вот пример функции PHP, которая проверяет, является ли значение действующим в США индексом (за пределами США, это называется почтовый код).

Навигация по разделам:

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *