Bonjour,

Dans un formulaire, un champ devant contenir un numéro de téléphone.
Pour le valider, j'utilise d'abord
Code : Sélectionner tout - Visualiser dans une fenêtre à part
->addValidator('Digits', true)
.
J'aimerais aussi valider sa longueur à 10 chiffres mais le validator StringLength ne fonctionne pas pour les nombres.
Citation Envoyé par Doc ZF
75.2.27. StringLength

Ce validateur vérifie la longueur d'une chaine de caractères.
Zend_Validate_StringLength ne supporte que les chaines Zend_Validate_StringLength ne fonctionnera pas avec les entiers, flottants, les dates ou encore les objets.
J'essaie alors de faire la validation dans le contrôleur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
				// Validation numéro de téléphone
				if($values['prs_telephone'] != '' && strlen($values['prs_telephone']) != 10)
				{
					$erreur = 'Votre numéro de téléphone doit contenir 10 chiffres';
					$form->prs_telephone->addErrorMessage($erreur);
					$form->populate($formData);
				}
Mes tests montrent qu'un mauvais numéro de téléphone entraîne le passage dans le IF mais par contre le populate n'entraîne pas l'affichage de l'erreur.

Comment faire ?

Existe t-il un validator pour numéros de téléphones ?