我建立了一个自定义验证器,但是Symfony 4似乎没有加载它。
这是我的自定义验证器:
//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: ~
这是Yaml
Reverse for 'delete_view' with arguments '('',)' not found. 1 pattern(s) tried: ['essay/(?P<essay_id>[0-9]+)/delEssay/$']
当我提交表单并将状态保留为空白时,该表单将保存,而无需经过此验证。在文档中,Symfony 4应该自动装配这些验证。缓存已清除。一样。