public function isValid($data) { $ret = parent::isValid($data); if ($this->getElement('title') && !$this->getElement('title')->hasErrors()) { $fileExistsValidator = new Zend_Validate_File_NotExists(); $fileExistsValidator->setDirectory(UPLOAD_PATH . DIRECTORY_SEPARATOR . 'static')->setMessage('cms_form_error_title_exists'); if (!$fileExistsValidator->isValid($data['title'] . '.html')) { $this->getElement('title')->addErrors($fileExistsValidator->getMessages()); $ret = false; } } return $ret; }
/** * Ensures that the validator follows expected behavior * * @return void */ public function testBasic() { $baseDir = dirname(__FILE__); $valuesExpected = array(array($baseDir, 'testsize.mo', true), array($baseDir . '/_files', 'testsize.mo', false)); $files = array('name' => 'testsize.mo', 'type' => 'text', 'size' => 200, 'tmp_name' => dirname(__FILE__) . '/_files/testsize.mo', 'error' => 0); foreach ($valuesExpected as $element) { $validator = new Zend_Validate_File_NotExists($element[0]); $this->assertEquals($element[2], $validator->isValid($element[1]), "Tested with " . var_export($element, 1)); $this->assertEquals($element[2], $validator->isValid($element[1], $files), "Tested with " . var_export($element, 1)); } $valuesExpected = array(array($baseDir, 'testsize.mo', true, false), array($baseDir . '/_files', 'testsize.mo', false, false)); $files = array('name' => 'testsize.mo', 'type' => 'text', 'size' => 200, 'tmp_name' => dirname(__FILE__) . '/_files/testsize.mo', 'error' => 0, 'destination' => dirname(__FILE__) . '/_files'); foreach ($valuesExpected as $element) { $validator = new Zend_Validate_File_NotExists($element[0]); $this->assertEquals($element[2], $validator->isValid($element[1]), "Tested with " . var_export($element, 1)); $this->assertEquals($element[3], $validator->isValid($element[1], $files), "Tested with " . var_export($element, 1)); } $valuesExpected = array(array($baseDir, 'testsize.mo', false, false), array($baseDir . '/_files', 'testsize.mo', false, false)); foreach ($valuesExpected as $element) { $validator = new Zend_Validate_File_NotExists(); $this->assertEquals($element[2], $validator->isValid($element[1]), "Tested with " . var_export($element, 1)); $this->assertEquals($element[3], $validator->isValid($element[1], $files), "Tested with " . var_export($element, 1)); } }