Валидация данных

Методы для валидации данных объединены в класс 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/: Валидация пройдена.

Ваши комментарии и дополнения

Ваш комментарий будет первым.

Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.