私は何か疑問に思っています。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 を使用しています... 解決策が見つかり、このバージョンで配信されたようですが、問題は残っています