1

フォームに値を挿入させる前に、値がすでに存在するかどうかを確認する最良の方法は何ですか?指定されたユーザー名のユーザーがすでに存在する場合は、フォームの検証をfalseにします。ここではどこかで一意の制約が発生すると思いますが、より包括的なものにするか、よりカスタマイズされた方法で値をチェックできるようにする必要があります。顧客アカウントに複数の管理者アカウントがあり、それらすべてに他の管理者を降格する権限があるとします。最後の管理者を無効にしているかどうかを確認します(無効にしている場合は、降格アクションを防止します)。 、フォームに適切なエラーメッセージが表示されます...)

たとえば、formType内からエンティティマネージャーにアクセスできますか、それとも回避策としてコントローラーから渡す必要がありますか?

    $builder
        ->add('username', 'text', array('label' => 'Användarnamn '))
        ->add('email', 'email', array('label' => 'Epost '))
        ->add('plainPassword', 'repeated', array('type' => 'password', 'first_name' => 'Lösenord ', 'second_name' => 'Upprepa lösenord',));
4

1 に答える 1

0

カスタム検証制約を作成し、それを注入しEntityManagerてデータベースにアクセスする必要があります。

于 2012-08-17T20:53:17.817 に答える