簡體   English   中英

Symfony4 : 注釋不存在,或無法自動加載 (Symfony\\Component\\Validator\\Constraints)

[英]Symfony4 : The annotation does not exist, or could not be auto-loaded (Symfony\Component\Validator\Constraints)

我正在開發 Symfony4 應用程序,但出現此錯誤:

[語義錯誤] 屬性 App\\Entity\\Product::$brochure 中的注釋“@Symfony\\Component\\Validator\\Constraints\\NotBlank”不存在,或無法自動加載。

這是Product類:

namespace App\Entity;

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

/**
 * @ORM\Entity(repositoryClass="App\Repository\ProductRepository")
 */
class Product
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=100)
     */
    private $name;
    
    /**
     * @ORM\Column(type="decimal", scale=2, nullable=true)
     */
    private $price;

    /**
     * @ORM\Column(type="text")
     */
    private $description;

    /**
     * @ORM\Column(type="string")
     *
     * @Assert\NotBlank(message="Please, upload the product brochure as a PDF file.")
     * @Assert\File(mimeTypes={ "application/pdf" })
     */
    private $brochure;
    
    public function getBrochure()
    {
        return $this->brochure;
    }

    public function setBrochure($brochure)
    {
        $this->brochure = $brochure;

        return $this;
    }

    public function getId()
    {
        return $this->id;
    }

    public function getName()
    {
        return $this->name;
    }

    public function setName($name)
    {
        $this->name = $name;
    }

    // ... getters & setters for price & description

    public function setPrice($price)
    {
        $this->price = $price;
    }

    public function setDescription($description)
    {
        $this->description = $description;
    }
}

注釋@Symfony\\Component\\Validator\\Constraints\\File也會出錯。

也許,我忘了在 Symfony 中配置一些東西,我不知道。

我該如何解決問題?

嗯,這是對我來說“我覺得很愚蠢”的修復之一。 我已經使用 flex 安裝了該軟件包,但仍然出現錯誤。 原因是我輸入了 symfony 文檔中的 Assert 語句示例,但在我相當高的 DPI 監視器上,反斜杠看起來像一個管道,即:@Assert|NotBlank(),但它應該是 @Assert\\NotBlank( )

也許你應該提到在 composer 文件中,因為在 symfony 4 中,每個依賴項都會通過 flex 自動加載和安裝

    "require": {
#...
        "symfony/validator": "^3.3",

    },

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM