Symfony 4.3验证无效-甚至自动

时间:2019-10-30 19:20:04

标签: php validation symfony4

每个人。 这里也有类似的问题,但是答案不能解决我的错误。

我正在尝试在实体上使用Symfony 4.3自动验证,但这是行不通的。

我已取消注释validator.yaml中的两行,并且在validation: {enable_annotations: true}配置文件中启用了framework.yaml,但仍然无法使用。

即使我从实体中添加或删除@Assert批注,验证也始终返回零长度的数组。

这是我的实体类:

namespace App\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * Company
 *
 * @ORM\Table(name="company")
 * @ORM\Entity(repositoryClass="App\Repository\CompanyRepository")
 */

class Company
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="type", type="string", length=255, nullable=false)
     * @Assert\NotNull
     */
    public $type;
}

如您所见,type属性不能为null,但是验证无法按预期进行。就是这样:

$company = new Company();
$validator = Validation::createValidator();
$errors = $validator->validate($company);

此时,$ errors只是一个空数组。

是否需要任何其他配置? 有人有理论吗?

0 个答案:

没有答案