2016-04-24 32 views
0

私はSymfony 3.0フォームビルダーを使用しています。私はデータを投稿する際に問題が発生しています。データがポストされているので、reverseTransformを取得できません。今、私はこれが起こっていると仮定している理由は、データがデータベースに保存されていることです\ r \ nそれは、段落を作成するために、 r \ nまたは複数。これらのテキストは、selectのオプションの値として使用されます。私はSymfonyが「トリミング」していると思って、おそらくデータがデータベースにどのように入るべきかを確認するためのいくつかの追加ステップを実行していると思います。symfony 3.0フォーム投稿

私はデバッグ中にSymfonyフォームクラスを調べ始めました。フィールドごとにデータをポストするときに、正規表現とトリムがあることがわかりました。しかし、私はそれを使用して、フォームの投稿時に値がフィールドの値と一致するようにdbから来るデータを照合しようとしましたが、成功しませんでした。基本的には、selectオプションで設定する前にSymfonyと比較するデータに合わせてデータを消去する方法を見つける必要があります。

投稿時にSymfonyがどのようにデータを「トリミング」しているか正確に知っていますか?投稿時にデータが一致するように同じプロセスを実行したいだけです。私はデータベース上のデータ自体でこれを行うことをお勧めしますが、現在Symfonyがやっていることと一致するいくつかのPHPコードは素晴らしいでしょう。

、データを保存する際に行っている

EDIT 1 等F \フォームフィードのようなエスケープシーケンスを/他の文字があるかもしれないことを言及するのを忘れてしまった。これは、コピー/ペーストユーザーから来て、事前にありがとう

答えて

0

これを修正する方法を考え出しました。したがって、Symfony \ Component \ Form \ Util \ StringUtilクラスのトリムメソッドを使用して、私はそのオプション値をラップし、投稿するとSymfonyと同じようになり、値が一致します。私が失敗した場所(前に試しました)は、私が解決しようとしていた部分だけが問題だったと思っていたのではなく、オプション価値の一部でこれをやっていたということでしたが、それだけではありませんでした。今はすべて大丈夫です。

将来の誰かが同様の問題に遭遇した場合のためだけに応答します。