Form


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

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

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

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

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

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 = 4, $max = 99): true|string

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

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

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

Допускаются латинские и кириллические буквы, цифры и символы -, _, @, $, ., ?, %.

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

Для проверки подтверждения передайте второй пароль:

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

Сравнение выполняется только при передаче непустого значения $passwordConfirm.

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

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

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

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