Classes de validation standardZend Framework est fourni avec un jeu de classes de validation standard, qui sont directement utilisables par votre application. AlnumRetourne 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. AlphaRetourne 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.
BarcodeZend_Validate_Barcode allows you to check if a given value can be represented as barcode. Zend_Validate_Barcode supports multiple barcode standards and can be extended with proprietary barcode implementations very easily. The following barcode standards are supported:
Supported options for Zend_Validate_BarcodeThe following options are supported for Zend_Validate_Barcode:
Basic usageTo validate if a given string is a barcode you just need to know its type. See the following example for an EAN13 barcode:
Optional checksumSome barcodes can be provided with an optional checksum. These barcodes would be valid even without checksum. Still, when you provide a checksum, then you should also validate it. By default, these barcode types perform no checksum validation. By using the checksum option you can define if the checksum will be validated or ignored.
Writing custom adaptersYou may write custom barcode validators for usage with Zend_Validate_Barcode; this is often necessary when dealing with proprietary barcode types. To write your own barcode validator, you need the following information.
Your custom barcode validator must extend Zend_Validate_Barcode_AdapterAbstract or implement Zend_Validate_Barcode_AdapterInterface. As an example, let's create a validator that expects an even number of characters that include all digits and the letters 'ABCDE', and which requires a checksum.
BetweenRetourne 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. Callback (fonction de rappel)Zend_Validate_Callback permet de fournir une fonction de rappel utilisée pour valider la valeur. Utilisation classiqueLe plus simple est de posséder une fonction classique, qui sera utilisée pour valider la donnée. Soit la fonction ci-après :
Pour l'utiliser avecZend_Validate_Callback vous devez simplement effectuer votre appel comme ceci:
Utilisation avec les fonctions anonymes (closures)PHP 5.3 introduit les » fonctions anonymes ou fonctions de fermeture. PHP traite les fonctions anonymes comme des fonctions de rappel valides, et il est donc possible d'utiliser celles-ci avec Zend_Validate_Callback. Exemple:
Utilisation avec les méthodes de rappelBien sûr, il est aussi possible d'utiliser des méthodes de rappel:
La définition de la fonction de rappel se fait alors dans un tableau contenant un objet de la classe et la méthode à appeler:
Il est aussi possible d'utiliser une méthode statique comme fonction de rappel: Enfin, PHP 5.3 définit la méthode magique __invoke(). Si vous l'utilisez, alors un simple objet suffira comme fonction de rappel:
Ajouter des optionsZend_Validate_Callback permet d'utiliser des options, celles-ci seront alors passées comme argument supplémentaires à la fonction de callback. Soit la définition suivante:
Il extsite deux manières d'indiquer des options au validateur : via le constructeur ou sa méthode setOptions(). Via le constructeur, passez un tableau contenant les clés "callback" et "options": Sinon, vous pouvez passer les options après:
Si des valeurs supplémentaires sont passées à isValid() elles seront utilisées comme arguments supplémentaires lors de l'appel à la fonction de rappel, mais avant les options $options.
Lors de l'appel à la fonction de rappel, la valeur à valider sera toujours passée comme premier argument à la fonction de rappel suivie de toutes les autres valeurs passées à isValid(); les autres options suivront. Le nombre et le type d'options qui peuvent être utilisées est illimité. CreditCardZend_Validate_CreditCard permet de valider si une valeur est susceptible de représenter un numéro de carte de crédit. Une carte de crédit contient plein de données, incluant un hologramme, un numéro de compte, un logo, une date d'expiration, un code de sécurité et le nom du détenteur. L'algorithme qui vérifie la combinaison de ces données n'est connu que des entreprises délivrant les cartes et devrait être vérifié lors d'un paiement. Cependant, il est utile de savoir si le numéro de la carte est valable avant d'effectuer de telles vérifications complexes. Zend_Validate_CreditCard vérifie simplement que le numéro est bien formé. Dans les cas où vous possederiez un service capable d'effectuer des vérifications complètes, Zend_Validate_CreditCard vous permet de passer une fonction de rappel à utiliser si le numéro a été vérifié comme valide. Le retour de la fonction de rappel servira alors de retour général du validateur. Les institutions suivantes sont acceptées:
Utilisation classiqueIl y a plusieurs institutions qui peuvent être validées par Zend_Validate_CreditCard. Par défaut, toutes les institutions connues sont acceptées:
L'exemple ci-dessus valide le numéro pour toutes les institutions connues. Accepter seulement certains types de cartesIl peut arriver que vous ne vouliez valider que certains types de cartes plutôt que toutes les institutions connues. Zend_Validate_CreditCard permet ceci. Pour utiliser une limite, spécifiez les institutions accéptées à l'initialisation ou après, grâce à setType(). Plusieurs arguments sont utilisables. Vous pouvez préciser une seule institution:
Plusieurs institutions se précisent au moyen d'un tableau:
Et comme pour tout validateur, vous pouvez passer un tableau global ou un objet Zend_Config. Dans ce cas, les institutions se précisent au moyen de la clé type:
Vous pouvez aussi configurer les institutions valides après la construction, au moyen des méthodes setType(), addType() et getType().
Validation par fonction de rappelComme déja dit, Zend_Validate_CreditCard ne valide que le numéro de la carte. Heureusement, certaines institutions proposent des APIs pour valider des numéros de carte de crédit qui ne sont pas publiques. Ces services sont très souvent payants, ainsi cette vérification est par défaut désactivée. Lorsque vous avez accès à de telles APIs, vous pouvez les utiliser comme fonctions additionnelles à Zend_Validate_CreditCard et ainsi augmenter la sécurité de la validation. Pour ce faire, vous devez simplement préciser une fonction de rappel qui sera appelée après que la validation "classique" ait réussi. Ceci évite un appel à l' API avec un numéro de toute façon non valide et augmentera ainsi les performances de la validation et donc de l'application. setService() et getService() sont utilisée pour la fonction de rappel. La clé de configuration à utiliser, si vous le souhaitez, est 'service' (à la construction). Des détails peuvent être trouvés sur la documentation du validateurCallback.
Ici le service sera appelé avec le numéro de carte comme premier paramètre, et les types accéptés comme second. CcnumRetourne 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
Db_RecordExists et Db_NoRecordExistsZend_Validate_Db_RecordExists et Zend_Validate_Db_NoRecordExists permettent de vérifier si un enregistrement existe (ou pas) dans une table de base de données. Utilisation de baseVoici un exemple basique:
Le code ci-dessus vérifie la présence d'une adresse email $emailaddress vis à vis d'un champ d'une table de base de données.
Le code ci-dessus vérifie l'absence d'un nom d'utilisateur $username vis à vis d'un champ d'une table de base de données. Exclure des enregistrementZend_Validate_Db_RecordExists et Zend_Validate_Db_NoRecordExists proposent aussi un moyen de tester la base de données en excluant certaines parties de table, en passant une clause where ou un tableau de paires "champs" "valeur".
Lorsqu'un tableau est passé, l'opérateur
L'exemple ci dessus va vérifier qu'aucun utilisateur dont l'id n'est pas celui spécifié, possède ce nom là $username.
La clause d'exclusion peut aussi être renseignée avec une chaine afin de pouvoir utiliser
un opérateur autre que
L'exemple ci-dessus vérifie la table Adaptateurs de base de donnéesUn adaptateur spécifique peut être passé au validateur. Dans le cas contraire, il utilisera l'adaptateur déclaré comme étant celui par défaut:
Nom des bases de données
Vous pouvez spécifier un nom de base de données (schéma) pour l'adaptateur
PostgreSQL et DB/2 simplement grâce à un tableau possédant les clés
DigitsRetourne TRUE si et seulement si $value contient seulement des caractères numériques. EmailAddressZend_Validate_EmailAddress permet de valider une adresse émail. Ce validateur éclate d'abord l'adresse émail entre partie locale et domaine et essaie de valider ces deux parties conformément aux spécifications des adresses émail et des noms de domaine. Utilisation de baseVous trouverez ci-dessous un exemple d'utilisation basique
Ceci validera l'adresse émail $email et, en cas d'échec,
fournira des messages d'erreur informatifs via
Options for validating Email AddressesZend_Validate_EmailAddress supports several options which can either be set at initiation, by giving an array with the related options, or afterwards, by using setOptions(). The following options are supported:
Parties locales complexes
Zend_Validate_EmailAddress validera toute adresse émail
conforme à la RFC2822. Comme par exemple Validating only the local partIf you need Zend_Validate_EmailAddress to check only the local part of an email address, and want to disable validation of the hostname, you can set the domain option to FALSE. This forces Zend_Validate_EmailAddress not to validate the hostname part of the email address.
Validation de différents types de noms de domaine
La partie domaine d'une adresse émail est validée via Zend_Validate_Hostname.
Par défaut, seules les domaines qualifiés sous la forme Afin de réaliser cette opération, il vous faut instancier Zend_Validate_EmailAddress en lui passant un paramètre indiquant le type de nom de domaine à accepter. Les détails sont disponibles dans Zend_Validate_EmailAddress mais vous trouverez ci-dessous un exemple illustrant comment accepter les noms de domaines qualifiés et les hôtes locaux :
Vérification que le nom de domaine accepte réellement l'émailLe fait qu'une adresse électronique est dans un format correct, ne signifie pas nécessairement que l'adresse électronique existe en réalité. Pour aider résoudre ce problème, vous pouvez utiliser la validation MX pour vérifier si une entrée MX (l'émail) existe dans le l'enregistrement du DNS pour le nom de domaine de l'émail. Cela vous dit que le nom de domaine accepte l'émail, mais ne vous dit pas que l'adresse électronique elle-même est valable. La vérification MX n'est pas active par défaut et est seulement supporté par des plates-formes UNIX pour l'instant. Pour activer la vérification MX vous pouvez passer un deuxième paramètre au constructeur Zend_Validate_EmailAddress.
Alternativement vous pouvez passer soit TRUE soit
FALSE à En activant ce paramètre, les fonctions de réseau seront utilisés pour vérifier la présence d'un enregistrement MX sur le nom de domaine de l'adresse électronique que vous voulez valider. Faîtes cependant attention, cela ralentira probablement votre scénario. Sometimes validation for MX records returns FALSE, even if emails are accepted. The reason behind this behaviour is, that servers can accept emails even if they do not provide a MX record. In this case they can provide A, A6 or AAAA records. To allow Zend_Validate_EmailAddress to check also for these other records, you need to set deep MX validation. This can be done at initiation by setting the deep option or by using setOptions().
Warning
Performance warningYou should be aware that enabling MX check will slow down you script because of the used network functions. Enabling deep check will slow down your script even more as it searches the given server for 3 additional types.
Valider les noms de domaines internationauxZend_Validate_EmailAddress peut aussi vérifier les caractères internationaux qui existent dans quelques domaines. Ceci est connu comme le support de Nom de Domaine International (IDN). Celui-ci est activé par défaut, quoique vous puissiez le mettre hors service en changeant le paramètre via l'objet interne Zend_Validate_Hostname qui existe dans Zend_Validate_EmailAddress.
De plus amples informations concernant l'utilisation de setValidateIdn() sont présentes dans la documentation de Zend_Validate_Hostname. Notez cependant que les IDNs sont seulement validés si vous autorisez la validation des nom de domaines. Validation des "Top Level Domains"Par défaut un nom de domaine sera vérifié grâce à une liste de TLDs connus. Ceci est activé par défaut, quoique vous puissiez le mettre hors service en changeant le paramètre via l'objet Zend_Validate_Hostname interne qui existe dans Zend_Validate_EmailAddress.
De plus amples informations concernant l'utilisation de setValidateTld() sont présentes dans la documentation de Zend_Validate_Hostname. Notez cependant que les TLDs sont seulement validés si vous autorisez la validation des nom de domaines. Setting messagesZend_Validate_EmailAddress makes also use of Zend_Validate_Hostname to check the hostname part of a given email address. As with Zend Framework 1.10 you can simply set messages for Zend_Validate_Hostname from within Zend_Validate_EmailAddress.
Before Zend Framework 1.10 you had to attach the messages to your own Zend_Validate_Hostname, and then set this validator within Zend_Validate_EmailAddress to get your own messages returned. 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 GreaterThanRetourne TRUE si et seulement si $value est supérieure à une valeur minimum fournie. HexRetourne TRUE si et seulement si $value contient seulement des caractères numériques hexadécimaux. HostnameZend_Validate_Hostname vous permet de valider un nom de domaine sur la base d'un ensemble de spécifications connues. Il est ainsi possible de valider trois types différents de noms de domaine : un nom de domaine qualifié (ex : domaine.com), une adresse IP (ex : 1.2.3.4) ou un nom de domaine local (ex : localhost). Par défaut, seul les noms de domaine qualifiés sont acceptés. Utilisation basique Exemple simple :
$validator->getMessages() .
Validation de différents types de noms de domaine Il peut se trouver que vous souhaitez valider des adresses IP, des noms de domaine locaux ou toute combinaison de tous les types disponibles. Cette opération peut être effectuée en passant un paramètre à Zend_Validate_Hostname au moment de l'instanciation. Le paramètre doit être un entier qui détermine quels types de noms de domaine sont admis. Il est recommandé d'utiliser les constantes de la classe Zend_Validate_Hostname. Les constantes de Zend_Validate_Hostname sont : ALLOW_DNS qui autorise uniquement les noms de domaine qualifiés, ALLOW_IP qui autorise les adresses IP, ALLOW_LOCAL qui autorise les domaines locaux et ALLOW_ALL qui autorise les trois types précédents. Pour vérifier uniquement les adresses IP, vous pouvez utiliser l'exemple suivant :
Vous pouvez utiliser ALLOW_ALL pour accepter tous les types de domaines. De même, vous pouvez créer des configurations combinant ces différents types. Par exemple, pour accepter les domaines qualifiés et les domaines locaux, instanciez votre objet Zend_Validate_Hostname de la manière suivante : $validateur = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS | Zend_Validate_Hostname::ALLOW_IP); Validation de Nom de Domaine International (IDN) Certains noms de domaines nationaux (Country Code Top Level Domains ou ccTLD), comme .de (Allemagne), supporte les caractères internationaux dans leurs noms de domaine. Ceci est connu sous le nom de Nom de Domaine International (IDN). Ces domaines peuvent être vérifiés par Zend_Validate_Hostname grâce aux caractères étendus qui sont utilisés dans le processus de validation. Jusqu'à maintenant plus de 50 ccTLDs supportent les domaines IDN.
Pour vérifier un domaine IDN c'est aussi simple que d'utiliser le validateur standard
de nom de domaine puisque la validation IDN est activé par défaut. Si vous voulez mettre
hors service la validation IDN, cela peut être fait par le passage d'un paramètre au
constructeur Zend_Validate_Hostname ou via la méthode
Vous pouvez aussi désactiver la validation IDN en passant un second paramètre au constructeur du Zend_Validate_Hostname comme ceci : $validator = new Zend_Validate_Hostname( array( 'allow' => Zend_Validate_Hostname::ALLOW_DNS, 'idn' => false ) ); $validator->setValidateIdn() pour activer ou désactiver
la validation IDN. Si vous essayez de vérifier un nom de domaine IDN qui n'est pas
actuellement soutenu il est probable qu'il retournera une erreur s'il y a des caractères
internationaux. Quand un fichier de ccTLD spécifiant les caractères supplémentaires n'existe
pas dans "Zend/Validate/Hostname",une validation de nom de domaine normale est
réalisée.
Notez cependant que les IDNs sont seulement validés si vous autorisez la validation des noms de domaine. Validation des "Top Level Domains" Par défaut un nom de domaine sera vérifié grâce à une liste de TLDs connus. Si cette fonctionnalité n'est pas nécessaire, elle peut être désactivée de la même façon que la désactivation du support des IDNs. Vous pouvez désactiver la validation TLD en passant un troisième paramètre au constructeur de Zend_Validate_Hostname. Dans l'exemple ci-dessous, la validation IDN est supportée via le second paramètre.
$validator->setValidateTld() pour activer ou désactiver
la validation TLD.
Notez cependant que les TLDs sont seulement validés si vous autorisez la validation des noms de domaine. IbanRetourne 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.
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.
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. IdenticalZend_Validate_Identical vous permet de valider si une valeur donnée est identique à une valeur préalablement fournie. Utilisation de basePour valider si deux valeurs sont identiques, vous devez d'abord fournir la valeur d'origine. L'exemple montre la validation de deux chaînes :
La validation retournera TRUE seulement si les deux valeurs sont rigoureusement identiques. Dans notre exemple, quand $value vaudra "origin". Vous pouvez aussi fournir la valeur souhaitée plus tard en utilisant la méthode setToken() et getToken() pour récupérer la valeur actuellement paramétrée. Objets identiquesBien sûr Zend_Validate_Identical ne se limite pas à la validation de chaînes, mais aussi tout type de variable comme un booléen, un entier, un flottant, un tableau et même les objets. Comme énoncé ci-dessus, les valeurs fournies et à valider doivent être identiques.
Configurationomme tous les autres validateurs Zend_Validate_Identical supporte aussi des paramètres de configuration en tant que paramètre d'entrée. Ceci veut dire que vous pouvez configurer ce validateur avec une objet Zend_Config. Mais ceci entraîne un changement dont vous devez tenir compte. Quand vous utilisez un tableau en tant qu'entrée du constructeur, vous devez envelopper la valeur d'origine avec la clé token, dans ce cas elle contiendra une valeur unique.
L'exemple ci-dessus valide l'entier 123 car vous avez fourni la valeur en l'associant à la clé token. Mais, si vous devez valider un tableau qui contient un seul élément et que cet élément est nommé token alors vous devez l'envelopper comme dans l'example ci-dessous : InArrayZend_Validate_InArray vous permet de valider qu'une entrée est bien présente dans un tableau. Ceci fonctionne aussi avec des tableaux multidimensionnels. Validation tableau simplePassez simplement un tableau dans lequel rechercher une valeur:
C'est le comportement exact de la fonction PHP in_array().
Bien sûr vous pouvez fournir le tableau à valider plus tard en utilisant la méthode setHaystack(). La méthode getHaystack() retourne le tableau actuellement fourni.
Validation tableau stricteIl est possible d'effectuer une validation stricte des données dans le tableau. Par défaut, il n'y aura aucune différence entre l'entier 0 et la chaine "0". La validation stricte fera cette différence. Pour spécifier une validation stricte à l'instanciation de l'objet, agissez comme suit : La clé haystack contient le tableau dans lequel valider. En mettant la clé strict à TRUE, la validation sera stricte (valeur et type). Bien sûr vous pouvez la méthode setStrict() pour changer ce réglage et la méthode getStrict() vous retournera le réglage en cours.
Validation de tableaux récursifsEn plus de la validation type PHP in_array(), ce validateur peut aussi être utilisé pour valider des tableaux à plusieurs dimensions. Pour cela, utilisez l'option recursive.
Votre tableau sera parcouru récursivement à la recherche de votre valeur. De plus vous pouvez utiliser la méthode setRecursive() pour paramétrer cette option plus tard et la méthode getRecursive() pour la retrouver.
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 IpZend_Validate_Ip permet de déterminer si une adresse IP donnée est valide. Le composant supporte IPv4 et IPv6. Utilisation classiqueVoici un exemple banal:
Valider IPv4 ou IPV6 seulesIl peut arriver de ne vouloir valider qu'un seul des deux formats. Par exemple si le réseau ne supporte pas IPv6, il serait idiot de demander une telle validation. Pour limiter Zend_Validate_Ip sur un seul des deux protocoles, utilisez les options allowipv4 ou allowipv6 et mettez les à FALSE. Il est possible d'effectuer celà au moyen du constructeur ou avec la méthode setOptions().
IsbnZend_Validate_Isbn permet de valider des valeurs ISBN-10 ou ISBN-13. Utilisation classiqueVoici un exemple banal:
Ceci valide tout ISBN-10 et ISBN-13 sans séparateur. Configurer un type de validation ISBN expliciteVoici comment effectuer une restriction de type de l'ISBN :
Seules les valeurs de ISBN-13 sont validée ci-dessus. Les types valides sont:
Spécifier une restriction de séparateurVoici un exemple de restriction de séparateur:
Séparateurs valides:
LessThanRetourne TRUE si et seulement si $value est inférieure à une valeur maximum fournie. NotEmptyCe 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. Comportement par défaut de Zend_Validate_NotEmptyPar 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.
Changer le comportement de Zend_Validate_NotEmptyCertains 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:
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. PostCodeZend_Validate_PostCode vous permet de déterminer si une valeur donnée est un code postal valide. Les codes postaux siont spécifiques aux villes et dans quelques cas spéciaux sont nommés des codes ZIP. Zend_Validate_PostCode reconnait plus de 160 différents formats de codes postaux. Pour sélectionner le format correct, il existe deux manières. Vous pouvez soit utiliser une locale complète, soit paramétrer votre propre format manuellement. Utiliser la locale est la méthode la plus commode puisque Zend Framework connait les formats des codes postaux assoicés à chaque locale cependant, vous devez utiliser une locale complète (c'est-à-dire contenant aussi le spécificateur de région) dans ce cas. Par exemple, la locale "fr" est une bien une locale mais ne peut pas être utilisée avec Zend_Validate_PostCode puisqu'elle ne contient pas la région ; "fr_FR" sera, cependant, une locale valide puisqu'elle spécifie une région ("FR", pour France).
Quand vous ne paramétrez pas de locale vous-même, alors Zend_Validate_PostCode utilisera la locale de l'application, ou, s'il n'y en a pas, la locale retournée par Zend_Locale.
Vous pouvez changer la locale plus tard en appelant setLocale(). Et bien sûr vous pouvez récupérer la locale courante avec getLocale().
Les formats de codes postaux sont simplement des chaînes d'expressions régulières. Quand le format de code postal international, qui est utilisé en paramétrant la locale, ne correspond pas à vos besoins, alors vous pouvez alors paramétrer manuellement un format en appelant setFormat().
Options du constructeurLe plus basiquement possible, vous fournissez soit un objet Zend_Locale, soit une chaîne représentant une locale complète au constructeur de Zend_Validate_PostCode.
De plus, vous pouve zfournir un tableau ou un objet Zend_Config au constructeur. Quand vous faîtes ceci, vous devez inclure soit la clé "locale" ou "format" ;celles-ci seront utilisées pour paramétrer les valeurs appropriées dans l'objet validateur.
RegexRetourne TRUE si et seulement si $value respecte une expression régulière fournie. Validateurs de SitemapLes validateurs suivant sont conformes au protocole » XML Sitemap. Sitemap_ChangefreqValide si oui ou non une chaîne utilisable en tant qu'élément "changefreq" dans un document XML Sitemap. Les valeurs valides sont : "always", "hourly", "daily", "weekly", "monthly", "yearly", or "never". Retourne TRUE si et seulement si la valeur est une chaîne et qu'elle vaut une dès fréquences ci-dessus. Sitemap_LastmodValide si oui ou non une chaîne utilisable en tant qu'élément "lastmod" dans un document XML Sitemap. L'élément "lasmod" doit contenir une date sous la forme W3C, optionnellement en omettant les informations concernant l'heure. Retourne TRUE si et seulement si la valeur est une chaîne et qu'elle est valide suivant le protocole. Example #1 Validateur de "lastmod" Sitemap
Sitemap_LocValide si oui ou non une chaîne utilisable en tant qu'élément "loc" dans un document XML Sitemap. Ceci utilise en interne la méthode Zend_Form::check(). Vous pouvez en lire davantage avec la validation d'URI. Sitemap_PriorityValide si oui ou non une valeur est utilisable en tant qu'élément "priority" dans un document XML Sitemap. La valeur doit être un nombre compris entre 0.0 et 1.0. Ce validateur accepte à la fois des valeurs numériques ou textuelles. Example #2 Validateur de "priority" Sitemap
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 »
|