Skip to main content
コンテキストデータに応じて、サインアッププロンプトのカスタマイズを異なる形でレンダリングできます。locale 変数を使うことで、フォーム入力を条件付きでレンダリングし、バリデーションの動作を定義できます。 次のユースケースでは、locale 変数を使用して、Terms of Service のメッセージとチェックボックスをレンダリングします。ページテンプレートで公開されている任意の変数に置き換えることができます。

前提条件

  • テナントでカスタムドメインが検証済みである
  • テナントにページテンプレートが設定されている

fr と es のロケールを有効にする

に移動し、Settings > General を開いて、ロケールを有効にします。

Custom Fields を条件付きでレンダリングする

を使用して、form-content-end のサインアッププロンプトにある Prompt コンテナーに template partial を追加します。locale が es または fr の場合は、Terms of Service のメッセージとチェックボックスをレンダリングするとよいでしょう。
次のリクエストは、Management API特定のプロンプトにカスタムテキストを設定するエンドポイントに送信されます。
サインアッププロンプトでは、ロケールがfrまたはesに設定されている場合にのみ、ToSメッセージとチェックボックスが表示されるようになりました。
表示をテストするには、Manage Dashboard に移動し、Branding > Universal Login > Customization Options に進みます。次に、「試す」ボタン を右クリックしてリンク先のアドレスをコピーします。コピーしたURLに次のクエリパラメータを追加し、新しいURLに移動します: &screen_hint=signup&ui_locales=fr (または es) 。

バリデーションを追加

ロケールが fr, の場合は、続行する前にチェックボックスが選択されていることをバリデーションできます。次のバリデーションコードを使って、template partial を更新します。
このバリデーションを適用すると、ToS への同意が必要になるのは fr ロケールのユーザーだけです。
このユースケースのバリデーションはクライアントサイドで行われ、ユーザーの利便性を高めるためのものです。必ず実行されるとは限りません。たとえば、ユーザーのブラウザーで Javascript が無効になっている場合があります。さらに、バリデーションは好奇心からでも悪意をもってでも改変される可能性があります。バリデーションロジックの完全性を確保するには、クライアントサイドのバリデーションをサーバーサイドのバリデーションと組み合わせる必要があります。