foreach ($inputData as $saleChannelId =>
$inputValues) { /** @var string[] $allKeys */
$allKeys =
array_keys($inputValues);
$domains =
array_map(fn (string
$key) =>
implode('.',
explode('.',
$key, -1
)),
$allKeys);
$domains =
array_unique($domains);
$subDefinition =
new DataValidationDefinition('systemConfig.update.' .
$saleChannelId);
foreach ($domains as $domain) { $formConfig =
$this->
getSystemConfigByDomain($domain,
$context);
$constraints =
$this->
prepareValidationConstraints($formConfig,
$allKeys);
foreach ($constraints as $elementName =>
$elementConstraints) { $subDefinition->
add($elementName, ...
$elementConstraints);
} } if (empty($subDefinition->
getProperties())) { continue;
} $definition->
addSub($saleChannelId,
$subDefinition);
}