CakeFest 2024: The Official CakePHP Conference

Validation

Exemple #1 Validation d'adresses email avec filter_var()

<?php
$email_a
= 'joe@example.com';
$email_b = 'bogus';

if (
filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
echo
"L'adresse email '$email_a' est considérée comme valide.";
}
if (
filter_var($email_b, FILTER_VALIDATE_EMAIL)) {
echo
"L'adresse email '$email_b' est considérée comme valide.";
} else {
echo
"L'adresse email '$email_b' est considérée comme invalide.";
}
?>

L'exemple ci-dessus va afficher :

L'adresse email 'joe@example.com' est considérée comme valide.
L'adresse email 'bogus' est considérée comme invalide.

Exemple #2 Validation d'adresses IP avec filter_var()

<?php
$ip_a
= '127.0.0.1';
$ip_b = '42.42';

if (
filter_var($ip_a, FILTER_VALIDATE_IP)) {
echo
"L'adresse IP '$ip_a' est considérée comme valide.";
}
if (
filter_var($ip_b, FILTER_VALIDATE_IP)) {
echo
"L'adresse IP '$ip_b' est considérée comme valide.";
}
?>

L'exemple ci-dessus va afficher :

L'adresse IP '127.0.0.1' est considérée comme valide.

Exemple #3 Passage d'options à la fonction filter_var()

<?php
$int_a
= '1';
$int_b = '-1';
$int_c = '4';
$options = array(
'options' => array(
'min_range' => 0,
'max_range' => 3,
)
);
if (
filter_var($int_a, FILTER_VALIDATE_INT, $options) !== FALSE) {
echo
"L'entier A 'int_a' est considéré comme valide (entre 0 et 3).\n";
}
if (
filter_var($int_b, FILTER_VALIDATE_INT, $options) !== FALSE) {
echo
"L'entier B 'int_b' est considéré comme valide (entre 0 et 3).\n";
}
if (
filter_var($int_c, FILTER_VALIDATE_INT, $options) !== FALSE) {
echo
"L'entier C 'int_c' est considéré comme valide (entre 0 et 3).\n";
}

$options['options']['default'] = 1;
if ((
$int_c = filter_var($int_c, FILTER_VALIDATE_INT, $options)) !== FALSE) {
echo
"L'entier C 'int_c' est considéré comme valide (entre 0 et 3).";
}
?>

L'exemple ci-dessus va afficher :

L'entier A '1' est considéré comme valide (entre 0 et 3).
L'entier C '1' est considéré comme valide (entre 0 et 3).

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top