/** * Check parent validation * * @return boolean */ public function isValid() { if ($this->has('parent')) { $this->parentId = (int) $this->get('parent')->getValue(); } $condition = sprintf('parent_id = %d', $this->parentId); if (!empty($this->documentId)) { $condition .= sprintf(' AND id != %d', $this->documentId); } $inputFilter = $this->getInputFilter(); $validators = $inputFilter->get('document-url_key')->getValidatorChain()->getValidators(); foreach ($validators as $validator) { if ($validator['instance'] instanceof Validator\Db\NoRecordExists) { $validator['instance']->setExclude($condition); } } return parent::isValid(); }