getType() === AddressPostalOrganizationTypeEnum::ADDRESS_OTHER) { return true; } $addressesByType = $this->organizationAddressPostalRepository->getByType($organizationAddressPostal->getType(), $organizationAddressPostal->getOrganization()); // Si le nombre d'adress du type est supérieur à 1, OU si le nombre est égale a 1 ET que l'id de l'adresse n'est pas celui en cours : invalide. if (count($addressesByType) > 1 || (count($addressesByType) === 1 && $addressesByType[0]->getId() !== $organizationAddressPostal->getId())) { $this->context->buildViolation($constraint->payload) ->setParameter('{{ type }}', $organizationAddressPostal->getType()->value) ->atPath('type') ->addViolation(); return false; } return true; } }