Валидация данных
Методы для валидации данных объединены в класс Validate, описанный в файле includes/validate.php.
Они могут использоваться в моделях и обработчиках POST запросов непосредственно для проверки переданных данных.
Методы
string|boolean false login (string $name, [integer $id = 0]) – Проверяет логин на валидность.
- string $name: логин
- integer $id: номер пользователя
Пример:
$names = array('', 'administraor_sajta_pro_babochek', 'dbs ', 'admin', 'my_login');
foreach($names as $name)
{
echo '"'.$name.'": '.Validate::login($name);
}
// выведит:
// "": Введите логин.
// "administraor_sajta_pro_babochek": Логин больше допустимой длинны: 15.
// "dbs ": Логин не может заканчиваться пробелом.
// "admin": Пользователь с таким логином уже существует.
// "my_login":
string|boolean false mail (string $mail) – Проверяет e-mail на валидность.
- string $mail: электронный ящик
Пример:
echo Validate::mail('myemailbez@');
// выведет: E-mail адрес не правильного формата.
if(! Validate::mail('my@site.ru'))
{
echo 'Валидация пройдена.';
}
else
{
echo 'Валидация не пройдена.';
}
// выведет: Валидация пройдена.
string|boolean false mail_user (string $mail, [integer $id = 0]) – Проверяет зарегистрирован ли пользователь с указанным электронным ящиком.
- string $mail: электронный ящик
- integer $id: номер пользователя
Пример:
$mes = Validate::mail_user('my@site.ru');
if($mes)
{
echo $mes;
}
else
{
echo 'Валидация пройдена.';
}
// выведет:
// Пользователь с таким электронным ящиком уже существует.
// или
// Валидация пройдена.
string|boolean false phone (string $phone) – Проверяет телефон на валидность.
- string $phone: телефон
Пример:
$phones = array('999-99-99', '+7 (999) 999-99-99', '999999999999');
foreach($phones as $phone)
{
echo $phone.': ';
$mes = Validate::phone($phone);
if($mes)
{
echo $mes;
}
else
{
echo 'Валидация пройдена.';
}
}
// выведет:
// 999-99-99: Некорректный номер.
// +7 (999) 999-99-99: Валидация пройдена.
// 999999999999: Валидация пройдена.
string|boolean false password (string $password, [boolean $is_simple = false]) – Проверяет пароль на валидность.
- string $password: пароль
- boolean $is_simple: проверять сложность пароля
Пример:
echo Validate::password('');
// выведет: Введите пароль.
echo Validate::password('123', true);
// выведет: Введенный пароль входит в TOP100 самых взламываемых паролей. Необходимо придумать другой пароль.
string|boolean false numtext (string $value) – Проверяет число.
- string $value: исходное значение
Пример:
$ints = array('345', 23, '9a');
foreach($ints as $int)
{
echo $int.': ';
$mes = Validate::numtext($int);
if($mes)
{
echo $mes;
}
else
{
echo 'Валидация пройдена.';
}
}
// выведет:
// 345: Валидация пройдена.
// 23: Валидация пройдена.
// 9a: Числовое значение должно содержать только цифры.
string|boolean false floattext (string $value) – Проверяет число с плавающей точкой.
- string $value: исходное значение
Пример:
$fls = array('345', 23, '9a', '13.50', '189,45', 3456.9);
foreach($fls as $f)
{
echo $f.': ';
$mes = Validate::floattext($f);
if($mes)
{
echo $mes;
}
else
{
echo 'Валидация пройдена.';
}
}
// выведет:
// 345: Валидация пройдена.
// 23: Валидация пройдена.
// 9a: Числовое значение должно содержать только цифры и разделитель целых – точку или запятую.
// 13.50: Валидация пройдена.
// 189,45: Валидация пройдена.
// 3456.9: Валидация пройдена.
string|boolean false date (string $value) – Проверяет дату.
- string $value: исходное значение
Пример:
$ds = array('13.05.2019', '40.05.2019', '13 мая');
foreach($ds as $d)
{
echo $f.': ';
$mes = Validate::date($d);
if($mes)
{
echo $mes;
}
else
{
echo 'Валидация пройдена.';
}
}
// выведет:
// 13.05.2019: Валидация пройдена.
// 40.05.2019: День не может быть больше 31.
// 13 мая: Некорректный формат даты. Введите дату в формате дд.мм.гггг.
string|boolean false datetime (string $value) – Проверяет дату и время.
- string $value: исходное значение
Пример:
$ds = array('13.05.2019', '13.05.2019 23:30', '13.05.2019 24:30', '13 мая');
foreach($ds as $d)
{
echo $f.': ';
$mes = Validate::datetime($d);
if($mes)
{
echo $mes;
}
else
{
echo 'Валидация пройдена.';
}
}
// выведет:
// 13.05.2019: Валидация пройдена.
// 13.05.2019 23:30: Валидация пройдена.
// 13.05.2019 24:30: Час не может быть больше 23.
// 13 мая: Некорректный формат даты и времени. Введите дату в формате дд.мм.гггг чч:мм.
string|boolean false text (string $text, [integer $max_lenght = 40]) – Проверяет текст на наличие длинных слов.
- string $text: текст
- integer $max_lenght: максимальная длина слова
Пример:
echo Validate::text('В это тексте есть оченьбольшоесловокотороеможетиспортитьверсткунебольшойколонки.');
// выведет: Ошибка! Максимальная длина одного слова превышена!
boolean url (string $url, [boolean $absolute = false]) – Проверяет URL на валидность.
- string $url: электорнный адрес
- boolean $absolute: абсолютный адрес
Пример:
$urls = array('www.diafan.ru', 'http://www.diafan.ru/');
foreach($urls as $url)
{
echo $url.': ';
if(Validate::url($url, true))
{
echo 'Валидация пройдена.';
}
else
{
echo 'Валидация не пройдена.';
}
}
// выведет:
// www.diafan.ru: Валидация не пройдена.
// http://www.diafan.ru/: Валидация пройдена.
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.
Ваш комментарий будет первым.