separator === null || $constraint->separator === '') { if (str_contains($value, ',')) { $this->context->buildViolation('The given value should not contain a comma.') ->setTranslationDomain('validators') ->setCode(DateTimeFormat::INVALID_FORMAT) ->addViolation(); } $this->validateDateTime($value); return; } foreach (explode($constraint->separator, $value) as $v) { $this->validateDateTime($v); } } private function validateDateTime(mixed $value): void { $valid = true; if (!\is_string($value)) { $valid = false; } else { try { $test = new \DateTime($value); } catch (\Exception $ex) { $valid = false; } } if (false === $valid) { $this->context->buildViolation('The given value is not a valid datetime format.') ->setTranslationDomain('validators') ->setCode(DateTimeFormat::INVALID_FORMAT) ->addViolation(); } } }