2013-09-05 3 views
0

J'ai créé ce champ de saisie pour Zend Framework. Il est supposé s'assurer que l'entrée est exactement 10 chiffres numériques. Mais il échoue validation une fois donné la bonne entrée. Quelqu'un peut-il me dire pourquoi?La validation du formulaire Zend ne fonctionne pas correctement

<?php 
class Form_uspsSettings extends Zend_Form 
{ 
. . . 
     $phone = $this->createElement('text','phone'); 
     $phone->setLabel('Phone: *') 
       ->setRequired(true) 
       ->addFilter('Digits') 
      ->addValidators(array(
      array('Digits'), 
      array('stringLength', false, array(10)) 
     ));  
+0

Je pense que votre validateur StringLength a besoin de deux valeurs: min & max. Voir: http://framework.zend.com/manual/1.12/en/zend.validate.set.html#zend.validate.set.stringlength –

+0

Je l'ai essayé avec deux valeurs mais cela ne faisait aucune différence. J'ai vu quelque part dans les documents où ils ont fourni une seule valeur, donc je pense que c'est valable. Merci pour l'observation cependant. –

Répondre

0

Ceci est la bonne façon,

 'validators' => array(
      array('StringLength', false, array(10, 10)), 
     ), 

juste lui donner deux valeurs dague suggéré .. il va sûrement travailler ..

+0

Je vais essayer à nouveau et vous dire comment ça se passe. –

+0

oui, bien sûr .. mais je pense que ça va marcher .. ça marche pour moi! –

+0

Non, n'a pas fonctionné. J'ai même changé mon 'stringLength' en majuscule 'S' juste au cas où. Pas de joie. –

Questions connexes