Я создал собственный валидатор, но Symfony 4, похоже, не загружает его.
Вот мой пользовательский валидатор:
//Status.php
<?php
namespace App\Validator\Constraints;
use Symfony\Component\Validator\Constraint;
/**
* @Annotation
*/
class Status extends Constraint
{
/**
* {@inheritDoc}
*/
public function getTargets()
{
return self::CLASS_CONSTRAINT;
}
}
Пользовательский валидатор
//StatusValidator.php
<?php
namespace App\Validator\Constraints;
use Symfony\Component\Validator\Constraint;
use Symfony\Component\Validator\ConstraintValidator;
/**
* @Annotation
*/
class StatusValidator extends ConstraintValidator
{
public function validate($value, Constraint $constraint)
{
// here I straight away adding a violation
$message = 'Status already exists.';
$this->context
->buildViolation($message)
->atPath('status')
->addViolation();
}
}
А вот ямл
// config/validator/Status.yaml
App\Entity\Status:
properties:
status:
- NotBlank: ~
- App\Validator\Constraints\StatusValidator: ~
Когда я отправляю форму и оставляю статус пустым, форма сохраняется, не проходя эту проверку.В документах Symfony 4 должен автоматически подключать эти проверки.Кеш очищен.то же самое.