回调约束所针对的 Symfony 错误不是有效的可调用对象

Neo*_*tex 2 validation symfony

我有这个错误。请帮助。

我使用这个指令http://symfony.com/doc/current/reference/constraints/Callback.html 3.0版本(我使用Symfony 3.0)

我的验证.yml

App\Bundle\NameBundle\Entity\Product:
    constraints:
        - Callback: [validate]
Run Code Online (Sandbox Code Playgroud)

实体

namespace App\Bundle\NameBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Context\ExecutionContextInterface;
/**
 * Product
 */
class Product
{
    /**
    * @var integer
     */
    private $id;

    /* ... some code .... */

     public function validate(ExecutionContextInterface $context)
     {
         $context->buildViolation('This name sounds totally fake!')
             ->atPath('firstName')
             ->addViolation();
     }
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

解决方案:

在validation.yml中

...
- Callback: validate
...
Run Code Online (Sandbox Code Playgroud)

Neo*_*tex 5

字符串 3validation.yml 中出现错误

    - Callback: [validate] #wrong
    - Callback: validate #right
Run Code Online (Sandbox Code Playgroud)