You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
3.3 KiB
110 lines
3.3 KiB
<?php
|
|
|
|
namespace Config;
|
|
|
|
require_once "config.php";
|
|
|
|
class Validate
|
|
{
|
|
/**
|
|
* Valide une adresse e-mail en utilisant la fonction filter_var() de PHP et une
|
|
* longueur maximale définie globalement.
|
|
*
|
|
* @param string $email L'adresse e-mail à valider.
|
|
* @return bool Vrai si l'adresse e-mail est valide et respecte la longueur maximale définie, faux sinon.
|
|
*/
|
|
|
|
public static function email(String $email): bool
|
|
{
|
|
// Vérifier si l'adresse e-mail est valide
|
|
return filter_var($email, FILTER_VALIDATE_EMAIL) && strlen($email) <= $GLOBALS['emailMaxLength'];
|
|
}
|
|
|
|
/**
|
|
* Valide un pseudo en vérifiant que la longueur est suffisante, qu'il contient uniquement des
|
|
* caractères alphanumériques, et qu'il respecte la longueur maximale définie globalement.
|
|
*
|
|
* @param string $login
|
|
* @return bool Vrai si le pseudo est valide, faux sinon.
|
|
*/
|
|
|
|
public static function login(string $login) : bool
|
|
{
|
|
// Vérifier si la longueur est supérieure à 3.
|
|
if (strlen($login) <= 3 || !ctype_alnum($login) || strlen($login) >= $GLOBALS['pseudoMaxLength']) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Valide un mot de passe en vérifiant que la longueur est suffisante, qu'il contient au moins un chiffre
|
|
* et une lettre, et qu'il respecte la longueur maximale définie globalement.
|
|
*
|
|
* @param string $password Le mot de passe à valider.
|
|
* @return bool Vrai si le mot de passe est valide, faux sinon.
|
|
*/
|
|
|
|
public static function password(string $password) : bool
|
|
{
|
|
return (strlen($password) >= 8 && strlen($password) <=$GLOBALS['passwordMaxLength'] &&
|
|
preg_match("/\d/", $password) && preg_match("#[a-zA-Z]+#", $password));
|
|
}
|
|
|
|
/**
|
|
* Vérifie si le mot-clé est valide.
|
|
*
|
|
* @param string $keyword Le mot-clé à vérifier
|
|
* @return bool Vrai si le mot-clé est valide, faux sinon.
|
|
*/
|
|
|
|
public static function keyWord(string $keyword) : bool
|
|
{
|
|
return (strlen($keyword) <= $GLOBALS['keyWordMaxLength'] && strlen($keyword) >= 3);
|
|
}
|
|
|
|
/**
|
|
* Vérifie si le titre est valide.
|
|
*
|
|
* @param string $title Le titre à vérifier
|
|
* @return bool Vrai si le titre est valide, faux sinon.
|
|
*/
|
|
|
|
public static function title(string $title) : bool
|
|
{
|
|
return (strlen($title) <= $GLOBALS['titleMaxLength'] && strlen($title) >= 3);
|
|
}
|
|
|
|
/**
|
|
* Vérifie si le type est valide.
|
|
*
|
|
* @param string $type Le type à vérifier
|
|
* @return bool Vrai si le type est valide, faux sinon.
|
|
*/
|
|
|
|
public static function type(string $type) : bool
|
|
{
|
|
return (strlen($type) <= $GLOBALS['typeMaxLength'] && strlen($type) >=3);
|
|
}
|
|
|
|
/**
|
|
* Vérifie si la réponse est valide.
|
|
*
|
|
* @param string $response La réponse à vérifier
|
|
* @return bool Vrai si la réponse est valide, faux sinon.
|
|
*/
|
|
|
|
public static function response(string $response) : bool
|
|
{
|
|
return (strlen($response) <= $GLOBALS['responseMaxLength'] && !empty($response));
|
|
}
|
|
public static function username(string $username): bool
|
|
{
|
|
if (strlen($username) <= 3 || !ctype_alnum($username) || strlen($username) >= $GLOBALS['usernameMaxLength']) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
}
|