2016-09-08 9 views
1

私はSymfony3を使用しています。symfonyフォームとエンティティデータ、フォーム提出後に追加のプロパティがエンティティに表示される

私はフォームSiteTypeを持ち、エンティティSiteにバインドされています。私はdoctrineの注釈 を使ってフォームデータを検証しています。フォームにエラーが表示されますが、エラー はフィールドsitemap_urlで消えません(スクリーンショットhttp://imgur.com/a/RRSJtを参照してください)。

は、デバッグ時に、私は私がsitemap_urlを入力どんな が、正しくエンティティにマッピングされているサイトのエンティティのように余分な性質を

奇妙なことは、そのフォーム要素exclude_regex_ruleです(スクリーンショットhttp://imgur.com/a/RRSJtを参照してください)が表示されますことを発見しましたプロパティexcludeRegexRule。そして、フォームフィールドsitemap_urlがエンティティプロパティsitemapUrlにマップされることを期待していました。 SiteController.php

マイconfig.ymlはORMのエントリを次のようしているのリクエストを処理するコードの

スニペット。

# Doctrine Configuration 
doctrine: 
    dbal: 
     ... 
     ... 
    orm: 
     auto_generate_proxy_classes: "%kernel.debug%" 
     naming_strategy: doctrine.orm.naming_strategy.underscore 
     auto_mapping: true 

何が間違っている可能性があるかを理解しようとしています。

他の情報が必要な場合はお知らせください。

おかげで、symfonyのフォームビルダで

答えて

1

は、add方法で子供が実体VARに対応している必要があります。あなたのSiteTypeで

は次のようになります。

->add('sitemapUrl', TextType::class... 
+0

Damonssonが言ったように。 SiteTypeに問題がある可能性があります。その情報を追加できますか? :) – Eli

+0

@damonssonそれは動作しませんでした。 'SiteType'がある場合は、エンティティフィールドの' excludeRegexRule'プロパティに正しくマップする 'exclude_regex_rule'フィールドがあります。私は 'sitemap_url'が似ていることを期待していて、エンティティフィールド' sitemapUrl'にマップします。ここでは 'アンダースコア'が 'ネーミングストレージー'として使われています。私はこの情報で質問を更新しました。 @eli – Samundra

関連する問題