Ojs\JournalBundle\Validator\JournalIssnValidator::validate PHP Method

validate() public method

public validate ( mixed $value, Constraint $constraint ) : mixed
$value mixed
$constraint Symfony\Component\Validator\Constraint
return mixed
    public function validate($value, Constraint $constraint)
    {
        $journal = $this->context->getRoot();
        if (!$journal instanceof Journal) {
            $journal = $journal->getData();
        }
        $qb = $this->em->getRepository(Journal::class);
        $query = $qb->createQueryBuilder('j')->where('j.issn = :value')->orWhere('j.eissn = :value')->setParameter('value', $value);
        if ($journal->getId() !== null) {
            $query->andWhere('j.id !=' . $journal->getId());
        }
        $query = $query->getQuery()->getResult();
        if (!empty($value) && $query) {
            $this->context->addViolation($constraint->message);
        }
    }
JournalIssnValidator