/** * Overwritten method isValid to support extended validation * @param <type> $data */ public function isValid($data) { $extended = new Publish_Model_ExtendedValidation($this, $data, $this->log, $this->session); $valid1 = $extended->validate(); $data = $this->getValues(); $valid2 = parent::isValid($data); // undo changes through validation: restore values of disabled fields $this->populate($data); $valid3 = $extended->validate(); //inherit data changes during validation $this->populate($extended->data); $this->postData = $extended->data; return $valid1 && $valid2 && $valid3; }
/** * Regression test for OPUSVIER-2635 */ public function testSeriesNumberValidationWithMissingSeriesField() { $config = Zend_Registry::get('Zend_Config'); $config->documentTypes->include = 'all'; $session = new Zend_Session_Namespace('Publish'); $session->documentType = 'all'; $form = new Publish_Form_PublishingSecond($this->_logger); $data = array('PersonSubmitterFirstName_1' => 'John', 'PersonSubmitterLastName_1' => 'Doe', 'TitleMain_1' => 'Entenhausen', 'TitleMainLanguage_1' => 'deu', 'Licence' => '4', 'SeriesNumber_1' => '123'); $val = new Publish_Model_ExtendedValidation($form, $data, $this->_logger, $session); $result = $val->validate(); $this->assertFalse($result); }