valeur courante de l'onglet Information. $fields = [ 'description' => $client->getDescription(), 'competitors' => $client->getCompetitors(), 'foundedAt' => $client->getFoundedAt(), 'employeesCount' => $client->getEmployeesCount(), 'revenueAmount' => $client->getRevenueAmount(), 'directorName' => $client->getDirectorName(), 'profitAmount' => $client->getProfitAmount(), ]; $violations = new ConstraintViolationList(); foreach ($fields as $property => $value) { if ($this->isMissing($value)) { $violations->add(new ConstraintViolation( sprintf('Ce champ est obligatoire pour le role Commerciale (champ "%s").', $property), null, [], $client, $property, $value, )); } } if (count($violations) > 0) { throw new ValidationException($violations); } } /** * Une valeur est manquante si null ou, pour une chaine, vide apres trim. * Les zeros numeriques (employeesCount = 0, profitAmount = "0.00") sont des * valeurs valides : on ne les considere pas manquants. */ private function isMissing(mixed $value): bool { if (null === $value) { return true; } return is_string($value) && '' === trim($value); } }