/** * Validate customer attribute values. * * @param \Magento\Customer\Api\Data\CustomerInterface $customer * @throws InputException * @return void * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ private function validate(\Magento\Customer\Api\Data\CustomerInterface $customer) { $exception = new InputException(); if (!\Zend_Validate::is(trim($customer->getFirstname()), 'NotEmpty')) { $exception->addError(__(InputException::REQUIRED_FIELD, ['fieldName' => 'firstname'])); } if (!\Zend_Validate::is(trim($customer->getLastname()), 'NotEmpty')) { $exception->addError(__(InputException::REQUIRED_FIELD, ['fieldName' => 'lastname'])); } $isEmailAddress = \Zend_Validate::is($customer->getEmail(), 'EmailAddress'); if (!$isEmailAddress) { $exception->addError(__(InputException::INVALID_FIELD_VALUE, ['fieldName' => 'email', 'value' => $customer->getEmail()])); } $dob = $this->getAttributeMetadata('dob'); if ($dob !== null && $dob->isRequired() && '' == trim($customer->getDob())) { $exception->addError(__(InputException::REQUIRED_FIELD, ['fieldName' => 'dob'])); } $taxvat = $this->getAttributeMetadata('taxvat'); if ($taxvat !== null && $taxvat->isRequired() && '' == trim($customer->getTaxvat())) { $exception->addError(__(InputException::REQUIRED_FIELD, ['fieldName' => 'taxvat'])); } $gender = $this->getAttributeMetadata('gender'); if ($gender !== null && $gender->isRequired() && '' == trim($customer->getGender())) { $exception->addError(__(InputException::REQUIRED_FIELD, ['fieldName' => 'gender'])); } if ($exception->wasErrorAdded()) { throw $exception; } }
/** * @param $store * @param $address * @param \Magento\Customer\Api\Data\CustomerInterface|null $customer * @return null */ protected function getBusinessIdentificationNumber($store, $address, $customer) { if ($customer && $customer->getTaxvat()) { return $customer->getTaxvat(); } if ($this->config->getUseBusinessIdentificationNumber($store)) { return $address->getVatId(); } return null; }