0

私は何か疑問に思っています。Symfony のバグかもしれませんが、わかりません:

Product オブジェクトがあるとします:

class Product
{
    private $id;
    private $name;
    private $price;
    private $description;
}

このオブジェクトでフォームを作成します。ここに私の検証ファイルがあります:

myVendor\myBundle\Entity\Product:
  properties:
    name:
      - NotBlank: ~
    price:
      - NotBlank: ~

これは私のフォームビルダーです:

$builder->add('name', 'text', array('label' => $this->translator->trans('product.demo.name')));
$builder->add('price', 'money', array(
        'label' => $this->translator->trans('product.demo.price'),
        'invalid_message' => $this->translator->trans('product.demo.validation.price.error')
    ));
$builder->add('description', 'textarea', array('label' => $this->translator->trans('product.demo.description')));

フォームが生成されると、フィールドの 3 つのゾーンに必須の属性があります...必須ではない説明も含まれます。

HTML5 を非アクティブ化すると、Symfony が検証ファイルを見て、説明フィールドが不要であることを確認できるため、うまく機能します。

ただし、HTML5 が有効になっている場合は、required 属性のため、説明の値が必要です。

それは、デフォルトで必須属性を持つフィールドを生成するSymfonyのバグですか、それとも何か...

修正できますか?

ありがとうございました

PS : 私は Symfony 2.2 を使用しています... 解決策が見つかり、このバージョンで配信されたようですが、問題は残っています

4

1 に答える 1