web-dev-qa-db-ja.com

フィールドを不要にする

私はSymfony2とFOSUserBundleを使用しています。

ドキュメントで詳しく説明したように、Userエンティティで「name」プロパティをオーバーライドして作成しました。

私は必要なことをすべて行い、最後にそのフィールドをフォームビューに表示します。

重要なのは、form_widget(form.name)に移動して入力HTMLタグが生成されると、その中にrequired = "required"プロパティが生成されることです。そして、フィールドが入力されていない場合、エンジンは入力を赤にします。

そのフィールドを必須にしないようにSymfony2に指示するにはどうすればよいですか?ここにある必要があると思います:

        parent::buildForm($builder, $options);

    // add your custom field
    $builder->add('name', 'text', array('label' => 'form.name'));
    $builder->remove('username');

またはここ:

    /**
 * @ORM\Column(type="string", length="255")
 *
 * @Assert\MinLength(limit="0", message="The name is too short.", groups={"Registration", "Profile"})
 * @Assert\MaxLength(limit="255", message="The name is too long.", groups={"Registration", "Profile"})
 */
private $name;
22
ElPiter
$builder->add('name', 'text', array('label' => 'form.name','required' => false));
53
Carlos Granados

使用してみてください:

use Symfony\Component\Validator\Constraints\NotNull;


$builder->add('name', 'text', array('label' => 'form.name',
'constraints' => new NotNull()));
0
Shadi Akil