valeur courante des champs obligatoires de l'onglet. $fields = [ 'siren' => $supplier->getSiren(), 'accountNumber' => $supplier->getAccountNumber(), 'tvaMode' => $supplier->getTvaMode(), 'nTva' => $supplier->getNTva(), 'paymentDelay' => $supplier->getPaymentDelay(), 'paymentType' => $supplier->getPaymentType(), ]; $violations = new ConstraintViolationList(); foreach ($fields as $property => $value) { if ($this->isMissing($value)) { $violations->add(new ConstraintViolation( 'Ce champ est obligatoire.', null, [], $supplier, $property, $value, )); } } if (count($violations) > 0) { throw new ValidationException($violations); } } /** * Une valeur est manquante si null ou, pour une chaine, vide apres trim. Les * references (TvaMode / PaymentDelay / PaymentType) ne sont manquantes que * lorsqu'elles valent null. */ private function isMissing(mixed $value): bool { if (null === $value) { return true; } return is_string($value) && '' === trim($value); } }