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

Активный
Статус
Сообщения
516
Лайки
32

8

месяц на сайте

Валидация защищает от некорректных данных. Разберем методы валидации.

Валидация email
Код:
<?php
function validateEmail($email) {
    return filter_var($email, FILTER_VALIDATE_EMAIL) !== false;
}

$email = "user@example.com";
if(validateEmail($email)) {
    echo "Валидный email";
}
?>

Валидация URL
Код:
<?php
function validateURL($url) {
    return filter_var($url, FILTER_VALIDATE_URL) !== false;
}
?>

Валидация чисел
Код:
<?php
function validateInteger($value, $min = null, $max = null) {
    if(!is_numeric($value)) {
        return false;
    }
    
    $int = (int)$value;
    
    if($min !== null && $int < $min) {
        return false;
    }
    
    if($max !== null && $int > $max) {
        return false;
    }
    
    return true;
}
?>

Валидация строк
Код:
<?php
function validateString($string, $minLength = 0, $maxLength = null) {
    $length = strlen($string);
    
    if($length < $minLength) {
        return false;
    }
    
    if($maxLength !== null && $length > $maxLength) {
        return false;
    }
    
    return true;
}
?>

Класс валидации
Код:
<?php
class Validator {
    public static function email($email) {
        return filter_var($email, FILTER_VALIDATE_EMAIL) !== false;
    }
    
    public static function required($value) {
        return !empty($value);
    }
    
    public static function minLength($string, $min) {
        return strlen($string) >= $min;
    }
    
    public static function maxLength($string, $max) {
        return strlen($string) <= $max;
    }
}

// Использование
if(Validator::email($email) && Validator::required($email)) {
    // валидация прошла
}
?>

Важные моменты:
- Валидируйте все пользовательские данные
- Используйте фильтры PHP
- Проверяйте на сервере и клиенте
- Предоставляйте понятные сообщения об ошибках

Валидация защищает от некорректных данных!
 

1 человек читают эту тему (Всего: 1, Пользователей: 0, Гостей: 1)

Сверху