Classes de validation standard
Zend Framework est fourni avec un jeu de classes de validation standard, qui sont
directement utilisables par votre application.
Alnum
Retourne true si et seulement si $value contient
seulement des caractères alphabétiques et numériques. Ce validateur inclue une option
permettant la validation possible des caractères espace.
Alpha
Retourne true si et seulement si $value contient
seulement des caractères alphabétiques. Ce validateur inclue une option permettant la
validation possible des caractères espace.
Les caractères alphabétiques comprennent les caractères destinés à constituer
des mots dans chaque langue. Cependant l'alphabet anglais est aussi utilisé pour les
langues suivantes : chinois, japonais et coréen. La langue est spécifiée par
Zend_Locale.
Barcode
Ce validateur est instancié avec le type de code-barres suivant lequel vous
souhaitez valider une valeur. Il supporte actuellement les types de code-barres
"UPC-A" (Universal Product Code) et "EAN-13" (European Article
Number), et la méthode isValid() retourne true si et seulement
si la valeur fournie est validée par l'algorithme de validation du code-barres. Vous
devez retirer tous les caractères exceptés les nombres compris entre zéro et neuf (0-9)
de la valeur à tester avant de la fournir au validateur.
Between
Retourne true si et seulement si $value est compris
entre les valeurs minimum et maximum définies. La comparaison inclue par défaut les
bornes ($value peut égaler le minimum ou le maximum), bien que ceci puisse
être surchargé pour avoir une comparaison stricte, où $value doit être
strictement supérieur au minimum et strictement inférieur au maximum.
Ccnum
Retourne true si et seulement si $value respecte l'algorithme de Luhn ("module 10") pour
les numéros de cartes de crédits.
Date
Retourne true si $value est une date valide au format
YYYY-MM-DD. Si l'option locale est fournie alors la date sera
validé suivant le paramètre local. Enfin si l'option format est fournie ce
format est utilisé pour la validation. Pour plus de détails concernant les paramètres
optionnel, referez vous à Zend_Date::isDate().
Digits
Retourne true si et seulement si $value contient
seulement des caractères numériques.
Float
Retourne true si et seulement si $value est une valeur
en virgule flottante. A partir de Zend Framework 1.8 ce validateur prend en
considération la locale courante issue du navigateur, de l'environnement ou de
l'application. Vous pouvez bien sûr utiliser les accesseurs get/setLocale
pour changer ou la fournir au moment de la création de l'instance de ce
validateur.
GreaterThan
Retourne true si et seulement si $value est supérieure à
une valeur minimum fournie.
Hex
Retourne true si et seulement si $value contient
seulement des caractères numériques hexadécimaux.
Iban
Retourne true si et seulement si $value contient un IBAN
valide (International Bank Account Number = Numéro de compte bancaire international).
Les numéros IBAN sont validés suivant le pays dans lequel ils sont utilisés et par un
somme de contrôle.
Il existe deux manières de valider les numéros IBAN. En premier lieu, vous pouvez
fournir une locale qui représente un pays. Tout numéro IBAN fourni sera donc validé
suivant ce pays.
isValid($iban)) {
// IBAN paraît être valide
} else {
// IBAN est invalide
foreach ($validator->getMessages() as $message) {
echo "$message\n";
}
}
]]>
Vous pouvez aussi vouloir valider les numéros IBAN pour des pays uniques. La
manière la plus simple est donc de ne pas fournir de locale comme dans l'exemple
suivant.
isValid($iban)) {
// IBAN paraît être valide
} else {
// IBAN est invalide
}
]]>
Mais ceci montre un gros problème : si vous ne devez accepter que les numéros IBAN
que pour un pays en particulier, par exemple l'Allemagne, alors les numéros IBAN des
autres pays seront aussi valides. Dans ce cas, souvenez vous d'une chose : quand vous
devez valider un numéro IBAN pour un pays donné, vous avez juste à fournir la locale
correspondante. Et quand vous acceptez tous les numéros IBAN sans restriction de pays,
enlevez simplement cette locale.
InArray
Retourne true si et seulement si $value est contenue
dans un tableau. Si l'option stricte est à true, alors le type de
$value est aussi vérifié.
Int
Retourne true si et seulement si $value est une valeur
entière. A partir de Zend Framework 1.8 ce validateur prend en considération la locale
courante issue du navigateur, de l'environnement ou de l'application. Vous pouvez bien
sûr utiliser les accesseurs get/setLocale pour changer ou la fournir au
moment de la création de l'instance de ce validateur.
Ip
Retourne true si et seulement si $value est une adresse
IP valide.
LessThan
Retourne true si et seulement si $value est inférieure à
une valeur maximum fournie.
NotEmpty
Retourne true si et seulement si $value est une valeur
non vide.
Regex
Retourne true si et seulement si $value respecte une
expression régulière fournie.
StringLength
Retourne true si et seulement si la longueur de la chaîne
$value est supérieure à une valeur minimum et inférieure à une valeur
maximum (quand l'option max n'est pas à null). La méthode
setMin() lève une exception si la valeur fournie pour la longueur minimum
est supérieure à celle fournie pour la longueur maximum, et la méthode
setMax() lève une exception si la valeur fournie pour la longueur maximum
est supérieure à celle fournie pour la longueur minimum. Cette classe supporte l'UTF-8
et les autres encodages, en se basant sur la valeur courante de iconv.internal_encoding. Si vous avez besoin de régler un autre encodage, vous pouvez le faire avec
les accesseurs getEncoding() et setEncoding().