/** * Validate customer attribute values. * * @param CustomerModel $customerModel * @throws InputException * @return void * * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ private function validate(CustomerModel $customerModel) { $exception = new InputException(); if (!\Zend_Validate::is(trim($customerModel->getFirstname()), 'NotEmpty')) { $exception->addError(InputException::REQUIRED_FIELD, ['fieldName' => 'firstname']); } if (!\Zend_Validate::is(trim($customerModel->getLastname()), 'NotEmpty')) { $exception->addError(InputException::REQUIRED_FIELD, ['fieldName' => 'lastname']); } if (!\Zend_Validate::is($customerModel->getEmail(), 'EmailAddress')) { $exception->addError(InputException::INVALID_FIELD_VALUE, ['fieldName' => 'email', 'value' => $customerModel->getEmail()]); } $dob = $this->getAttributeMetadata('dob'); if (!is_null($dob) && $dob->isRequired() && '' == trim($customerModel->getDob())) { $exception->addError(InputException::REQUIRED_FIELD, ['fieldName' => 'dob']); } $taxvat = $this->getAttributeMetadata('taxvat'); if (!is_null($taxvat) && $taxvat->isRequired() && '' == trim($customerModel->getTaxvat())) { $exception->addError(InputException::REQUIRED_FIELD, ['fieldName' => 'taxvat']); } $gender = $this->getAttributeMetadata('gender'); if (!is_null($gender) && $gender->isRequired() && '' == trim($customerModel->getGender())) { $exception->addError(InputException::REQUIRED_FIELD, ['fieldName' => 'gender']); } if ($exception->wasErrorAdded()) { throw $exception; } }