symfony2自定义验证器FatalErrorException

时间:2015-01-13 12:01:35

标签: validation symfony

我正在使用Symfony2,我正在尝试为我的班级构建一个自定义验证器。

我按照指南找到Here

我收到一个奇怪的错误:

FatalErrorException: Compile Error: Cannot redeclare class Acme\MyProject\Validator\Constraints\isUniqueNameInPlaces in /home/myfolder/src/Acme/MyProjectBundle/Validator/Constraints/isUniqueNameInPlaces.php line 123

但是,文件isUniqueNameInPlaces.php只有14行。 我确信我做了一些蠢事,但我找不到什么。有人可以帮我一把吗?

这是我的isUniqueNameInPlaces

  <?php

  // src/Acme/MyProject/Validator/Constraints/UniqueNameInPlaces.php
  namespace Acme\MyProject\Validator\Constraints;

  use Symfony\Component\Validator\Constraint;

  /**
  * @Annotation
  */
  class isUniqueNameInPlaces extends Constraint
  {
      public $message = 'Name is not unique';
  }

这是验证器

  <?php

  // src/Acme/MyProject/Validator/Constraints/isUniqueNameInPlacesValidator.php
  namespace Acme\MyProject\Validator\Constraints;

  use Symfony\Component\Validator\Constraint;
  use Symfony\Component\Validator\ConstraintValidator;

  class isUniqueNameInPlacesValidator extends ConstraintValidator
  {

      public function getTargets()
      {
          return self::CLASS_CONSTRAINT;
      }

      public function validate($protocol, Constraint $constraint)
      {
  //      my logic
      }
  }

1 个答案:

答案 0 :(得分:1)

您在其他地方已经有 isUniqueNameInPlaces 类吗?因此错误无法重新声明课程 给你的isUniqueNameInPlaces类一些其他名称,然后看看它是否正常。

编辑:

也不应该是你的档案 极致/的 MyProject的 /Validator/Constraints/isUniqueNameInPlaces.php
而不是 Acme / MyProjectBundle /Validator/Constraints/isUniqueNameInPlaces.php?