122 $ignoreInvisible = self::IGNORE_INVISIBLE,
123 $filterAttributes = [],
126 $this->_customerMetadataService = $customerMetadataService;
127 $this->_addressMetadataService = $addressMetadataService;
128 $this->_elementFactory = $elementFactory;
131 $this->_formCode = $formCode;
132 $this->_ignoreInvisible = $ignoreInvisible;
133 $this->_filterAttributes = $filterAttributes;
134 $this->_isAjax = $isAjax;
135 $this->_httpRequest = $httpRequest;
136 $this->_modulesReader = $modulesReader;
137 $this->_validatorConfigFactory = $validatorConfigFactory;
148 if (!isset($this->_attributes)) {
150 $this->_attributes = $this->_customerMetadataService->getAttributes($this->_formCode);
152 $this->_attributes = $this->_addressMetadataService->getAttributes($this->_formCode);
154 throw new \LogicException(
'Undefined entity type: ' . $this->_entityType);
216 if ($this->_ignoreInvisible && !
$attribute->isVisible() || in_array(
240 $dataModel->setRequestScope($scope);
241 $dataModel->setRequestScopeOnly($scopeOnly);
257 $dataModel->setExtractedData(
$data);
278 $dataModel->setExtractedData(
$data);
296 $dataModel = $this->_elementFactory->create(
299 $this->_attributeValues[
$attribute->getAttributeCode()]
300 ) ? $this->_attributeValues[
$attribute->getAttributeCode()] :
null,
329 if ($this->_validator !==
null) {
333 $configFiles = $this->_modulesReader->getConfigurationFiles(
'validation.xml');
334 $validatorFactory = $this->_validatorConfigFactory->create([
'configFiles' => $configFiles]);
335 $builder = $validatorFactory->createValidatorBuilder(
'customer',
'form');
337 $builder->addConfiguration(
338 'metadata_data_validator',
341 $builder->addConfiguration(
342 'metadata_data_validator',
343 [
'method' =>
'setData',
'arguments' => [
$data]]
345 $builder->addConfiguration(
346 'metadata_data_validator',
347 [
'method' =>
'setEntityType',
'arguments' => [$this->_entityType]]
349 $this->_validator = $builder->createValidator();
363 if (!$validator->isValid(
false)) {
365 foreach ($validator->getMessages() as $errorMessages) {
366 $messages = array_merge($messages, (array)$errorMessages);
397 $this->_ignoreInvisible = $ignoreInvisible;
elseif(isset( $params[ 'redirect_parent']))