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 = 14): string|false

Удаляет из значения все символы, кроме цифр, и проверяет длину результата:

php
$phone = Form::isPhone('+375 (29) 123-45-67');

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

Метод вернёт:

text
375291234567

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

php
$phone = Form::isPhone('+375 29 123-45-67', 10, 12);

Если количество цифр не входит в заданный диапазон, метод возвращает false.

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

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