NotEmpty
Ce validateur permet de déterminer si une valeur est non vide. C'est utile lorsque vous travaillez
avec des formulaires ou des entrées utilisateur, là où vous pouvez l'utiliser pour savoir si des
éléments requis ont été saisis.
Options supportées par Zend_Validate_NotEmpty
Les options suivantes sont supportées par
Zend_Validate_NotEmpty :
type : paramètre le type de
validation qui sera réalisée. Pour plus de détails, reportez vous à
cette section.
Comportement par défaut de Zend_Validate_NotEmpty
Par défaut, ce validateur fonctionne différement de la fonction
PHP empty(). En particulier, ce validateur va
évaluer l'entier 0 et la chaine '0' comme vides.
isValid($value);
// retourne false
]]>Le comportement par défaut diffère de PHP
Sans configuration ajoutée, Zend_Validate_NotEmpty diffère
de PHP.
Changer le comportement de Zend_Validate_NotEmpty
Certains projets ont des opinions différentes sur ce qui peut être considéré comme 'vide'.
Une chaine seulement composée d'espaces blancs pourrait être considérée comme vide, ou
0 pourrait être considéré comme non-vide (surtout dans les séquences
logiques booléennes). Pour correspondre aux différents besoins,
Zend_Validate_NotEmpty vous permet de configurer les types que vous
considérez comme vides.
Les types suivants sont gérés :
boolean : retourne FALSE lorsque
la valeur booléenne est FALSE.
integer : retourne FALSE lorsque l'entier
0 est passé. Par défaut cette validation n'est pas activée et
retourne TRUE pour toute valeur d'entier.
float : retourne FALSE lorsque le flottant
0.0 est passé. Par défaut cette validation n'est pas activée et
retourne TRUE pour toute valeur de flottant.
string : retourne FALSE lorsque la chaine vide
'' est passée.
zero : retourne FALSE lorsque le seul caractère
zéro ('0') est passé.
empty_array : retourne FALSE lorsqu'un tableau vide
array() est passé.
null : retourne FALSE lorsqu'une valeur
NULL est passée.
php : retourne FALSE lorsque la fonction
PHP empty() retournerait
TRUE.
space : retourne FALSE lorsqu'une chaine
ne contenant que des caractères espace est passée.
object : retourne TRUE.
FALSE sera retournée quand object
n'est pas autorisé mais qu'ue objet est fourni.
object_string : retourne FALSE
quand un objet est fourni et que sa méthode
__toString() retourne une chaîne vide.
object_count : retourne FALSE
quand un objet est fourni, qu'il implémente Countable
et que son compte vaut 0.
all : retourne FALSE pour tous les
types gérés cités ci-dessus.
Toute autre valeur passée retourne TRUE par défaut.
Il existe différentes manières de selectionner les types ci-dessus. Vous pouvez en spécifier
un ou plusieurs, sous forme de tableau ou de constantes ou encore de chaines.
Voyez les exemples ci-après :
Il est aussi possible de passer un objet Zend_Config afin de
préciser les types à utiliser. Après instantiation, setType()
peut être utilisée.