Zohoサーベイ質問にバリデーションロジックを実装する方法

Zohoサーベイ質問にバリデーションロジックを実装する方法

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Requirement 概要

Zoho Survey ユーザーが、顧客が質問Aに対して質問Bの10%未満の値で回答した場合に、エラーメッセージを表示したいと考えています。

使用ケース

不動産法人向けローン適格性チェック:不動産会社では、Zoho Survey を活用し、物件購入を希望し住宅ローンを検討している潜在的な購入者の事前審査を行っています。このアンケートでは、ユーザーが予定している購入金額や、用意できる頭金について情報を収集します。

この会社では、ユーザーが本気で購入を検討しているか、また最小限の融資基準を満たしているかを確認したいと考えています。そのルールの一つとして、頭金が購入金額の10%以上であることが、自社ローンや提携銀行の融資対象となる条件です。

現時点で直接実現する上での課題

現在、Zoho Survey の質問に対する顧客の入力内容に基づきエラーメッセージを表示する「入力規則」機能は直接ご利用いただけません。

権限と利用可能範囲

Notes
ポータルAdminユーザー、または部署Adminおよびユーザー役割を持つユーザーは、自身が所属する部署に関連付けられているSurveyへアクセスできます。

Solution: 手順別 実装ガイド

1) バリデーションを実行したい該当するアンケートに移動してください。

2) Question Builderで2つの番号(データの種類)質問をドラッグ&ドロップし、それぞれ「Purchase 金額」と「Down 支払い」と名前を付けてください。

3) Down 支払いの値がPurchase 金額の10%未満の場合にエラーメッセージを表示するため、Heading/説明の質問をドラッグ&ドロップしてください。

どのようにして基準を適用し、エラーメッセージを表示させるか?

この場合、2つの要素が関与します。1つは質問「Heading/説明」に対するDisplay Logic、もう1つはJava Scriptで、ここでエラーメッセージを表示する基準を定義します。
  1. 手順 1: Display Logic

Heading/説明項目のDisplay Logic設定で、「特定の条件が満たされた場合のみこの質問を表示する」を選択していることを確認してください。
  1. 手順 2: 条件

ここでは2つの条件を使用する必要があります。

1) Down 支払い(質問)が回答されている場合
AND
2) Javascriptスニペットが真を返す場合

下記は、Display Logicと条件を示した画像が添付されています。


C2(条件 2)では、以下のサンプルコードを使用する必要があります。
  1. var fieldA = application.survey.question.F.response;
  2. var fieldB = application.survey.question.G.response;
  3. if (fieldA && fieldB)
  4. {
  5. 返品する fieldB < (0.1 * fieldA);
  6. }
  7. else
  8. {
  9. 返品する 無効;
  10. }
共有サンプルコードの解説:

スクリプトを使用して、まず1つ目の項目(Question F)を取得する必要があります。

fieldA = F.response;
→ 質問Fの回答値を取得します。

2. 次に、2番目の項目(Question G)を取得します。

fieldB = G.response;
→ 質問Gの回答値を取得します。

3. その後、IF条件を使用し、両方の項目が空であるかどうかを確認します。

if (fieldA && fieldB)
→ 両方の項目に回答が入力されているか(どちらも空やnullではないか)を確認します。

4. 最後に、両方の項目の値を取得し、さらに認証します。

返品する fieldB < (0.1 * fieldA);
→ 両方の項目に回答がある場合、以下を判定します:
質問Gの回答値が質問Fの回答値の10%未満であるかどうか。

条件C2が真の場合、見出し/説明の質問が表示されます。偽の場合は表示されません。

「fieldA」と「fieldB」でPurchase金額と頭金をどのように取得するか

これらは「Insert Variable」を利用して取得できます。下記の画像はそのオプションを示しています。  

  1. 手順 3: バリデーション基準

Heading/説明 質問で、説明セクションに移動します。説明セクションの右側に「Insert Variable」オプションがドロップダウンとして表示されます。カスタム Script(Javascript Snippet)を選択してください。


次に、下記のサンプルコードを編集してバリデーション条件を定義できます。
  1. var 割合(%) = 10 / 100 * application.survey.question.F.response;
  2. if (application.survey.question.G.response < 割合(%))
  3. {
  4. 返品する '次の値より大きい値を入力してください: ' + 割合(%);
  5. }
ここで、application.survey.question.F.responseは1つ目の質問(Purchase 金額)の変数です。また、application.survey.question.G.responseは2つ目の質問(Down 支払い)の変数となります。返品するの中で、法人の要件に合わせてエラーメッセージをハードコードできます。

動作デモ - Screencast


ロードマップ

Zoho Survey内で初期設定機能をサポートすることをロードマップに含めており、将来的にユーザーがこうしたバリデーションをより簡単に設定できるようになる予定です。


Quoteカスタム Solution 作成者 Hemanth Kumar L M | Zoho パートナー サポート

ご不明な点がございましたら、どうぞご遠慮なく パートナー-サポート@zohocorp.comまでご連絡ください。

Notesまた、Europeおよびイギリスのパートナーの皆様は パートナー-サポート@eu.zohocorp.comまでご連絡をお願いいたします。