Form


Form предоставляет статические методы для проверки значений, полученных из форм.

Поддерживает

  • проверку допустимых символов и длины логина
  • проверку пароля и его подтверждения
  • проверку телефонного номера в международном формате
  • проверку формата email-адреса

Создавать экземпляр класса не нужно.

Быстрый старт

php
$result = Form::isEmail('user@example.com');

if ($result !== true) {
    echo $result;
}

Методы проверки логина, пароля и email возвращают true, если значение прошло проверку. При ошибке возвращается локализованное сообщение.

Проверка логина

isLogin($login, $min = 3, $max = 99): true|string

Проверяет допустимые символы и длину логина:

php
$result = Form::isLogin('example-user');

if ($result !== true) {
    echo $result;
}

Допускаются:

  • буквы
  • цифры
  • символы -, _, $, ., ? и %
  • один символ + в начале логина

По умолчанию длина логина должна составлять от 3 до 99 символов включительно.

Другие ограничения можно передать вторым и третьим аргументами:

php
$result = Form::isLogin('example-user', 5, 30);

Если нарушено несколько правил, метод может вернуть объединённый текст нескольких ошибок.

Проверка пароля

isPassword($password, $passwordConfirm = false, $min = 8, $max = 99): true|string

Проверяет пароль и при необходимости совпадение с подтверждением:

php
$result = Form::isPassword('Example_123', 'Example_123');

if ($result !== true) {
    echo $result;
}

Пароль должен быть строкой в корректной кодировке UTF-8. Допускаются буквы, цифры, пробелы и специальные символы, без прежнего ограничения на отдельный набор знаков.

По умолчанию длина составляет от 8 до 99 символов включительно.

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

Чтобы проверить только пароль, не передавайте подтверждение:

php
$result = Form::isPassword('Example_123');

Другие ограничения длины передаются третьим и четвёртым аргументами:

php
$result = Form::isPassword('Example_123', false, 12, 64);

Метод возвращает true при успешной проверке или локализованный текст ошибок.

Проверка email

isEmail($email): true|string

Проверяет базовый формат email-адреса:

php
$result = Form::isEmail('user@example.com');

if ($result !== true) {
    echo $result;
}

Корректный адрес должен содержать имя, символ @ и доменную часть с точкой. Пробелы и дополнительные символы @ не допускаются.

При успешной проверке метод возвращает true, иначе возвращается локализованное сообщение об ошибке.

Проверка телефона

isPhone($phone, $min = 3, $max = 15): string|false

Проверяет номер телефона в международном формате:

php
$phone = Form::isPhone('+375291234567');

if ($phone !== false) {
    echo $phone;
}

Корректный номер:

  • начинается с символа +
  • содержит после + только цифры
  • не начинается с цифры 0
  • не содержит пробелы, скобки или дефисы

При успешной проверке метод возвращает переданный номер с символом +.

По умолчанию номер должен содержать от 3 до 15 цифр после +. Другие ограничения можно передать дополнительными аргументами:

php
$phone = Form::isPhone('+375291234567', 10, 12);

Если формат или длина номера не соответствуют требованиям, метод возвращает false.

Важные замечания

  • класс используется статически
  • результат isLogin(), isPassword() и isEmail() нужно сравнивать с true
  • isPhone() возвращает проверенный номер с символом + или false