1

エンドユーザーからの値を受け入れ、入力を検証するフォームをページに作成する必要があります (基本的なもの、空想的なものは何もなく、必須フィールドが入力されているかどうかを確認するなど) と、スパムボットを排除するためのキャプチャが必要です。

現在、フォーム用にスタンドアロンのreCaptchaコンポーネントをセットアップしています。それはそれ自体でうまく機能します。これを、CQ5 が提供するすぐに使用できるフォーム コンポーネントと一緒に追加する方向に沿って考えていました (アドレスコンポーネントが私の気になった)。

問題は検証で発生します。[送信] をクリックすると、住所コンポーネントの検証が実行されないようです。それが私の質問につながります。

i) 現在の方法論 (つまり、1つのreCaptchaコンポーネントと 1 つのアドレスコンポーネントを含む 1 つのメインフォームコンポーネント) を続行することはできますか? 可能であれば、送信を押したときにフォーム全体が希望どおりに動作するように、検証を正確にマッピングするにはどうすればよいですか。(必須フィールドを確認するには住所フォーム、チャレンジフィールドが有効かどうかを確認するにはreCaptchaが必要です)

ii) この方法でタスクを実行できない場合、住所コンポーネントとreCaptchaコンポーネントの両方のコードを含み、1 つのファイル内に両方の検証を含む、フォーム用のまったく新しいコンポーネントを作成する必要がありますか? 論理的には、このアプローチのメリットは理解できますが、はるかに簡単に思えます。しかし、 reCaptchaコンポーネントをスタンドアロンとして維持し、サイト全体で再利用できるようにしたいと考えています。

単一のページで複数のフォームを処理する方法についても同様のトピックがありますが、Ruby に関する知識がほとんどないため、実際には実装できませんでした。

CQ5 のコンテキストでこれを達成する方法についての情報を得ることができれば幸いです。

ありがとう(非常に長い文章で申し訳ありません)

4

1 に答える 1

0

after tinkering about with my form for a while, I was eventually able to get it to work!

So, yes it is indeed possible to have a multiple form components within a single form. The issue with validations can be sorted out by taking a look at how the validations are managed for any of the OOTB form field components individually.

To clarify, the OOTB Captcha component uses the Layout.printError() method to display any issues with validation. I sorta reworked this into my Recaptcha component, and made the necessary changes into the servervalidation.jsp. Worked fine!

And with respect to the 2nd point in the question, I'd suggest not going down that road as I feel it's always better if my component is stand alone.

于 2013-06-04T12:54:04.707 に答える