/**
  * @internal
  * @return bool
  */
 public function validate() : bool
 {
     $errorStorage = $this->getNode()->getZone()->getErrorsStore();
     if (!DnsZoneDomainNameValidator::validate($this->getCname())) {
         $errorStorage->add(ValidationError::makeRecordError($this, eErrorCode::WRONG_DOMAIN_NAME(), 'cname'));
     }
     /** @noinspection PhpInternalEntityUsedInspection */
     return parent::validate();
 }
Esempio n. 2
0
 /**
  * @internal
  * Full validate zone via build in validators
  * @return bool
  */
 public function validate() : bool
 {
     $errorsStore = $this->getZone()->getErrorsStore();
     if (!ConflictTypesValidator::validate($this)) {
         $errorsStore->add(ValidationError::makeNodeError($this, eErrorCode::CONFLICT_RECORD_TYPES_ERROR()));
     }
     if (!CnameNumberCheck::validate($this)) {
         $errorsStore->add(ValidationError::makeNodeError($this, eErrorCode::MULTIPLE_CNAME_ERROR()));
     }
     if ($this->getName() === '@' && !SoaNumberCheck::validate($this)) {
         $errorsStore->add(ValidationError::makeNodeError($this, eErrorCode::SOA_ERROR()));
     }
     if (!OutOfZoneDataValidator::validate($this)) {
         $errorsStore->add(ValidationError::makeNodeError($this, eErrorCode::OUT_OF_ZONE_DATE()));
     }
     $isValidNodeName = DnsZoneDomainNameValidator::validate($this->getName());
     foreach ($this->iterateRecords() as $record) {
         if (!$isValidNodeName) {
             $errorsStore->add(ValidationError::makeRecordError($record, eErrorCode::WRONG_NODE_NAME(), 'name'));
         }
         /** @noinspection PhpInternalEntityUsedInspection */
         $record->validate();
     }
     return !$errorsStore->isHasErrors();
 }
 /**
  * @return bool
  */
 public function validate() : bool
 {
     $errorStorage = $this->getNode()->getZone()->getErrorsStore();
     if (!DnsZoneDomainNameValidator::validate($this->getTarget())) {
         $errorStorage->add(ValidationError::makeRecordError($this, eErrorCode::WRONG_DOMAIN_NAME(), 'name'));
     }
     $attributes = ['priority' => $this->getPriority(), 'weight' => $this->getWeight(), 'port' => $this->getPort()];
     foreach ($attributes as $atr => $value) {
         if (!Int16Validator::validate($value)) {
             $errorStorage->add(ValidationError::makeRecordError($this, eErrorCode::WRONG_INT16(), $atr));
         }
     }
     /** @noinspection PhpInternalEntityUsedInspection */
     return parent::validate();
 }