Ответ
Рекомендуется системный подход, от общих проверок к специфическим:
- Пустое значение: Проверка обязательности поля (required attribute/validation).
- Пробелы: Тримминг — пробелы в начале, конце, множественные внутри строки.
- Граничные значения: Минимальная и максимальная допустимая длина (Boundary Value Analysis).
- Некорректные данные (Negative testing):
- Неверный формат (для email, телефона).
- Запрещенные символы (эмодзи, SQL-инъекции типа
' OR '1'='1). - XSS-пэйлоуды (
<script>alert(1)</script>).
- Корректные данные (Positive testing): Стандартные валидные значения.
- Дополнительные сценарии:
- Копирование/вставка (Ctrl+V).
- Международные символы (IDN, email с кириллицей
имя@пример.рф). - Ввод данных, превышающих длину поля (проверка усечения).
Пример чек-листа для поля "Email":
// 1. Пустое
"" -> "Поле обязательно"
// 2. Пробелы
" user@mail.com " -> автоматический тримминг до "user@mail.com"
// 3. Длина
"a@b.c" (мин.) -> OK
// 4. Неверный формат
"user@mail" -> "Неверный формат email"
// 5. Валидное значение
"valid.user@example-domain.com" -> OK
// 6. SQL-инъекция
"' OR 1=1;--" -> "Недопустимые символы"