2

Sonata User Bundleを使用し、ユーザー エンティティを拡張して関係を追加しようとしています。ここに記載されているように、独自の ApplicationSonataUserBundle 子バンドルを作成しました: http://sonata-project.org/bundles/user/master/doc/reference/installation.html フォームの検証を除いて、すべて正常に動作します。私は見ました: http://symfony.com/doc/current/cookbook/bundles/override.html#override-validation

私がそれを正しく理解していれば、いくつかの制約をオーバーライドしたい場合にのみこれを行う必要があります。しかし、エンティティが FOS ユーザー バンドル (独自の ApplicationSonataUserBundle によって拡張される Sonata ユーザー バンドルによって拡張される) に設定されているすべての制約を継承することを望みます。

それでも、登録フォームを印刷すると、制約が無視されているように見えます.... emailCanonicalなどの一意のチェック、パスワードの長さなどはありません。

私の解決策は、拡張エンティティ用にまったく新しい validation.xml を作成し、それを ApplicationSonataUserBundle に配置することです。これは正しいですか、または FOS\UserBundle\Model\Userから制約を継承すると思われる拡張されたApplication\Sonata\UserBundle\Entity\Userから制約を継承できる他の方法はありますか?

ティア。

4

1 に答える 1

0

新しいルールを新しい検証グループに割り当て、 config.yml ファイルを使用して検証グループをデフォルトに追加する必要があると思います。

sonata_user:
    profile:
        form:
            validation_groups:  [CustomGroup, Profile, Default]

ただし、これを機能させることができません (これがこのスレッドを見つけた理由です)...運が良ければ教えてください!

ところで、これに関する私自身の問題を別の質問として投稿しました: カスタマイズされた検証ルールを SonataUserBundle に追加する

そこに答えがあれば、ここでも更新しようとします。

于 2014-09-01T15:30:53.160 に答える