Валідація даних у формі – фрагменти коду та швидкі підказки

Проте валідація може сильно напружувати. Введення даних, що забирає багато часу та сил, стає дратівливим доповненням майже кожного проекту. Якщо ви не дуже сильні в кодуванні, то можете навіть засмутитися. Хоча за підтримки корисної бібліотеки коду воно може бути легким. У цьому пості ми обговоримо кілька коротких фрагментів, так що ви можете скопіювати і вставити матеріал, що повторюється, а також пригадати кращі рекомендації від користувачів.
Необхідні для заповнення поля


Безкоштовний курс з PHP програмування
Освойте курс та дізнайтеся, як створити динамічний сайт на PHP та MySQL з повного нуля, використовуючи модель MVC
Для зручності користувачів для позначення необхідного поля завжди використовуйте зірочку (*) червоного кольору, якщо дозволяє фон. Можна показати повідомлення, позначені зірочкою, хоча багато користувачів мережі розуміють їх автоматично. Це найпослідовніший і ненав'язливий спосіб позначити, що потрібно обов'язково, а що ні.
Серверна сторона (PHP)
Збігаються поля

Серверна сторона (PHP)
Правильний формат електронної пошти
Правильний формат е-мейлу включає знак @, точку (.) і дозволяє лише певні символи. Більше того, ці символи повинні розташовуватися у правильному порядку. Нижче є кілька уривків коду, як для клієнта, так і сервера, якими можна користуватися для підтвердження електронної пошти.

Серверна сторона (PHP)

Серверна сторона (PHP)

Безкоштовний курс з PHP програмування
Освойте курс та дізнайтеся, як створити динамічний сайт на PHP та MySQL з повного нуля, використовуючи модель MVC
Правильний форматпоштового індексу (США та Канада)

Серверна сторона (PHP)
Щось дійсно вибирається/підбирається
Іноді вам потрібно щось із значенням, що є за замовчуванням. Тут ми не можемо просто перевірити, чи поле порожнє, тому що воно не може таким залишатися.

Внизу наведено приклад, де у користувача в списку, що випадає, є опції, а значення, обране за замовчуванням - "Select One" (виберіть зі списку). Звичайно, нам не потрібно, щоб користувач вибрав "Select One", тому що так він не дасть нам жодної цінної інформації. Подібні ситуації можуть використовуватися для кнопок вибору опцій або певних полів уведення.
Валідація не буде потрібна, якщо на першому місці не буде опція «Виберіть зі списку» ("Select One"), але для того, щоб переконатися, що користувач щось активно вибирав замість того, щоб пропустити цю частину форми, нам слід створити цю "порожню" опцію.
Серверна сторона (PHP)
В діапазоні
Інша звичайна форма валідації, яка заслуговує на фрагмент коду, це перевірка того, чи знаходяться номер або дата в якомусь діапазоні. Хороший приклад тому – дата народження, де людина не може бути молодшою або старшою за певний вік. Інші зразки використання діапазону можуть включати оцінку доходів, підрахунок відстані або інші дані, де потрібно вибрати точне число, але в межах.
Аналогічну техніку можна застосувати до багатьох користувальницьких рішень.
Серверна сторона (PHP)
Нарешті, коли все вже сказано і зроблено, а форма заповнена, ви щонайменше хотіли б переконатися, що дані у форму вводить людина. Для уникнення спам-ботів і атак хакерів завжди перед відправкою форми включайте повністю автоматизований відкритий тестТьюринга з розпізнавання людей і машин, т.зв. captcha. Це легко зробити на клієнтській стороні, а часу він займає лише секунду.

Деякі розробники вважають за краще створювати свій власний captcha через серію зображень, простих питань (якого кольору яблуко?) або нескладної арифметики. Хоча використовувати готовий сервіс captcha типу reCAPTCHA також зручно.
Висновок
Це лише деякі з багатьох видів валідації даних і, до певної міри, вони найпоширеніші. Будь ласка, поділіться уривками коду або вдалими методиками, якими ви користувалися, працюючи над формами, чи стосуються вони дуже специфічних випадків чи простих альтернатив наведеним вище загальновідомим кодовим фрагментам.
Редакція: Ріг Віктор та Андрій Бернацький. Команда webformyself.

Безкоштовний курс з PHP програмування
Освойте курс та дізнайтеся, як створити динамічний сайт на PHP та MySQL з повного нуля, використовуючи модель MVC

Розробка веб-додатків на PHP
Створіть веб-додаток на PHP на прикладі прийому платежів на сайті