Form
Form предоставляет статические методы для проверки значений, полученных из форм.Поддерживает
- проверку допустимых символов и длины логина
- проверку пароля и его подтверждения
- очистку и проверку телефонного номера
Создавать экземпляр класса не нужно.
Быстрый старт
$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 = 4, $max = 99): true|string
Проверяет допустимые символы и длину пароля:
$result = Form::isPassword('Example_123');
if ($result !== true) {
echo $result;
}Допускаются латинские и кириллические буквы, цифры и символы -, _, @, $, ., ?, %.
По умолчанию длина пароля должна составлять от 4 до 99 символов включительно.
Для проверки подтверждения передайте второй пароль:
$result = Form::isPassword(
'Example_123',
'Example_123'
);Сравнение выполняется только при передаче непустого значения $passwordConfirm.
Другие ограничения длины передаются третьим и четвёртым аргументами:
$result = Form::isPassword('Example_123', false, 8, 40);Проверка телефона
isPhone($phone, $min = 3, $max = 14): string|false
Удаляет из значения все символы, кроме цифр, и проверяет длину результата:
$phone = Form::isPhone('+375 (29) 123-45-67');
if ($phone !== false) {
echo $phone;
}Метод вернёт:
375291234567По умолчанию номер должен содержать от 3 до 14 цифр включительно. Другие ограничения можно передать дополнительными аргументами:
$phone = Form::isPhone('+375 29 123-45-67', 10, 12);Если количество цифр не входит в заданный диапазон, метод возвращает false.
Важные замечания
- класс используется статически
- результат
isLogin(),isPassword()иisEmail()нужно сравнивать сtrue isPhone()возвращает очищенную строку цифр илиfalse