検索

ホームページ  >  に質問  >  本文

文字列からすべての小枝タグを削除する Symfony 互換の方法はありますか?

文字数を数えて文字長制限に対して検証する前に、正規表現を含むすべての Twig タグを削除する Symfony 検証制約があります。 (私のフォームでは、ユーザーは Twig タグの限られたサブセットをフィールドに入力できます。) したがって、次のことを行います:

リーリー

...$parsedLength 値が長すぎる場合、ビルド違反が発生します。

これは機能しますが、私にとっては機能しません。ある種のサービスを検証クラスに渡し、そのサービスを使用して Twig タグなしでテキストをレンダリングする方法はありますか?これは、正規表現を使用するよりも調和のとれた方法のようです。

P粉043470158P粉043470158253日前374

全員に返信(2)返信します

  • P粉038161873

    P粉0381618732024-03-22 18:07:32

    コードを共有してもらえますか?私が理解しているところによると、制約内に検証ロジックを適用していますが、これはバリデーター内に含める必要があります。

    望ましい結果を達成するための正しい手順は次のとおりです:

    1. 検証ロジックを含まないカスタム制約を作成する
    2. この制約のカスタム バリデータを作成し、サービスとして構成します。バリデーターはサービスをコンストラクターパラメーターとして受け入れる必要があります。

    一例:

    リーリー
    1. 挿入されたサービスを使用してバリデーター ロジックを完成させます。

    公式ドキュメント: https://symfony.com/doc/current/validation/custom_constraint.html

    返事
    0
  • P粉854119263

    P粉8541192632024-03-22 16:44:46

    これがあなたが求めているものであるかどうかは 100% わかりませんが、入力に基づいてテンプレートを作成し、それをレンダリングすることはできます。もちろんすべてのブランチを削除しますが、変数が何であるかを常に知っているかどうかはわかりません。

    確認したところ、すべての例が非常に古いようで、まだ動作するかどうかはわかりません。ドキュメントには例さえ見つかりませんが、どこかにあるはずです。ともかく:### リーリー

    少なくとも、これにより実際のテンプレートを検証することもできます。しかし、すでに述べたように、

    解析された長さが何を意味するのかよくわかりません。とにかく、createTemplate は (私にとって) 興味深いメソッドです。

    返事
    0
  • キャンセル返事