Requirement 概要
Zoho Survey ユーザーが、顧客が質問Aに対して質問Bの10%未満の値で回答した場合に、エラーメッセージを表示したいと考えています。
使用ケース
不動産法人向けローン適格性チェック:不動産会社では、Zoho Survey を活用し、物件購入を希望し住宅ローンを検討している潜在的な購入者の事前審査を行っています。このアンケートでは、ユーザーが予定している購入金額や、用意できる頭金について情報を収集します。
この会社では、ユーザーが本気で購入を検討しているか、また最小限の融資基準を満たしているかを確認したいと考えています。そのルールの一つとして、頭金が購入金額の10%以上であることが、自社ローンや提携銀行の融資対象となる条件です。
現時点で直接実現する上での課題
現在、Zoho Survey の質問に対する顧客の入力内容に基づきエラーメッセージを表示する「入力規則」機能は直接ご利用いただけません。
権限と利用可能範囲
ポータルAdminユーザー、または部署Adminおよびユーザー役割を持つユーザーは、自身が所属する部署に関連付けられているSurveyへアクセスできます。
Solution: 手順別 実装ガイド
1) バリデーションを実行したい該当するアンケートに移動してください。
2) Question Builderで2つの番号(データの種類)質問をドラッグ&ドロップし、それぞれ「Purchase 金額」と「Down 支払い」と名前を付けてください。
3) Down 支払いの値がPurchase 金額の10%未満の場合にエラーメッセージを表示するため、Heading/説明の質問をドラッグ&ドロップしてください。
どのようにして基準を適用し、エラーメッセージを表示させるか?
この場合、2つの要素が関与します。1つは質問「Heading/説明」に対するDisplay Logic、もう1つはJava Scriptで、ここでエラーメッセージを表示する基準を定義します。
Heading/説明項目のDisplay Logic設定で、「特定の条件が満たされた場合のみこの質問を表示する」を選択していることを確認してください。
-
手順 2: 条件
1) Down 支払い(質問)が回答されている場合
AND
2) Javascriptスニペットが真を返す場合
下記は、Display Logicと条件を示した画像が添付されています。
C2(条件 2)では、以下のサンプルコードを使用する必要があります。
-
var fieldA = application.survey.question.F.response;
-
var fieldB = application.survey.question.G.response;
-
if (fieldA && fieldB)
-
{
-
返品する fieldB < (0.1 * fieldA);
-
}
-
else
-
{
-
返品する 無効;
-
}
共有サンプルコードの解説:
スクリプトを使用して、まず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」を利用して取得できます。下記の画像はそのオプションを示しています。