I have a class that extends Zend_Form_Subform. In init() I do this: $phone = new Zend_Form_Element_Text( array('name' => 'office_phone','id' =>'person_office_phone','label' => 'Office phone', 'belongsTo' => 'person' ,'class' => 'telephone' ) ); $phone->addValidator('StringLength',true,array('min'=>10,'max'=>10, 'messages' => array( Zend_Validate_StringLength::TOO_SHORT => $m = "phone number must be 10 digits", Zend_Validate_StringLength::TOO_LONG => $m ))); $phone->addFilter(new Zend_Filter_Digits()); $this->addElement($phone);
I have a Zend_Form subclass that contains two subforms, the above being one of them. In this case I am trying to strip non-digits form a 10-digit phone number. When I POST the form with "212 805-0362" in this field, validation is failing. Crude but effective, I put echo statements in Zend_Filter_Digits constructor and filter() method, and determined that the Zend_Filter_Digits instance is created, but the filter() method is never executed. Pray tell, what I am doing wrong? Or have I discovered a bug? This is ZF 1.10.0. Any guidance is deeply appreciated. -- Support real health care reform: http://phimg.org/ -- David Mintz http://davidmintz.org/