文字数を数えて文字長制限に対して検証する前に、正規表現を含むすべての Twig タグを削除する Symfony 検証制約があります。 (私のフォームでは、ユーザーは Twig タグの限られたサブセットをフィールドに入力できます。) したがって、次のことを行います:
リーリー...$parsedLength
値が長すぎる場合、ビルド違反が発生します。
これは機能しますが、私にとっては機能しません。ある種のサービスを検証クラスに渡し、そのサービスを使用して Twig タグなしでテキストをレンダリングする方法はありますか?これは、正規表現を使用するよりも調和のとれた方法のようです。
コードを共有してもらえますか?私が理解しているところによると、制約内に検証ロジックを適用していますが、これはバリデーター内に含める必要があります。
望ましい結果を達成するための正しい手順は次のとおりです:
一例:
リーリー公式ドキュメント: https://symfony.com/doc/current/validation/custom_constraint.html
これがあなたが求めているものであるかどうかは 100% わかりませんが、入力に基づいてテンプレートを作成し、それをレンダリングすることはできます。もちろんすべてのブランチを削除しますが、変数が何であるかを常に知っているかどうかはわかりません。
確認したところ、すべての例が非常に古いようで、まだ動作するかどうかはわかりません。ドキュメントには例さえ見つかりませんが、どこかにあるはずです。ともかく:### リーリー
少なくとも、これにより実際のテンプレートを検証することもできます。しかし、すでに述べたように、解析された長さ
が何を意味するのかよくわかりません。とにかく、createTemplate は (私にとって) 興味深いメソッドです。