Form
Form предоставляет статические методы для проверки значений, полученных из форм.Поддерживает
- проверку допустимых символов и длины логина
- проверку пароля и его подтверждения
- проверку телефонного номера в международном формате
- проверку формата email-адреса
Создавать экземпляр класса не нужно.
Быстрый старт
$result = Form::isEmail('user@example.com');
if ($result !== true) {
echo $result;
}Методы проверки логина, пароля и email возвращают true, если значение прошло проверку. При ошибке возвращается локализованное сообщение.
Проверка логина
isLogin($login, $min = 3, $max = 99): true|string
Проверяет допустимые символы и длину логина:
$result = Form::isLogin('example-user');
if ($result !== true) {
echo $result;
}Допускаются:
- буквы
- цифры
- символы
-,_,$,.,?и% - один символ
+в начале логина
По умолчанию длина логина должна составлять от 3 до 99 символов включительно.
Другие ограничения можно передать вторым и третьим аргументами:
$result = Form::isLogin('example-user', 5, 30);Если нарушено несколько правил, метод может вернуть объединённый текст нескольких ошибок.
Проверка пароля
isPassword($password, $passwordConfirm = false, $min = 8, $max = 99): true|string
Проверяет пароль и при необходимости совпадение с подтверждением:
$result = Form::isPassword('Example_123', 'Example_123');
if ($result !== true) {
echo $result;
}Пароль должен быть строкой в корректной кодировке UTF-8. Допускаются буквы, цифры, пробелы и специальные символы, без прежнего ограничения на отдельный набор знаков.
По умолчанию длина составляет от 8 до 99 символов включительно.
Если второй аргумент передан и не равен false, метод проверяет точное совпадение паролей. Пустая строка тоже участвует в проверке. Регистр и пробелы имеют значение.
Чтобы проверить только пароль, не передавайте подтверждение:
$result = Form::isPassword('Example_123');Другие ограничения длины передаются третьим и четвёртым аргументами:
$result = Form::isPassword('Example_123', false, 12, 64);Метод возвращает true при успешной проверке или локализованный текст ошибок.
Проверка email
isEmail($email): true|string
Проверяет базовый формат email-адреса:
$result = Form::isEmail('user@example.com');
if ($result !== true) {
echo $result;
}Корректный адрес должен содержать имя, символ @ и доменную часть с точкой. Пробелы и дополнительные символы @ не допускаются.
При успешной проверке метод возвращает true, иначе возвращается локализованное сообщение об ошибке.
Проверка телефона
isPhone($phone, $min = 3, $max = 15): string|false
Проверяет номер телефона в международном формате:
$phone = Form::isPhone('+375291234567');
if ($phone !== false) {
echo $phone;
}Корректный номер:
- начинается с символа
+ - содержит после
+только цифры - не начинается с цифры
0 - не содержит пробелы, скобки или дефисы
При успешной проверке метод возвращает переданный номер с символом +.
По умолчанию номер должен содержать от 3 до 15 цифр после +. Другие ограничения можно передать дополнительными аргументами:
$phone = Form::isPhone('+375291234567', 10, 12);Если формат или длина номера не соответствуют требованиям, метод возвращает false.
Важные замечания
- класс используется статически
- результат
isLogin(),isPassword()иisEmail()нужно сравнивать сtrue isPhone()возвращает проверенный номер с символом+илиfalse