ここでは「入力チェック」の「カスタムバリデーション」について説明します。
カスタムバリデーション
カスタムバリデーションは独自のスクリプトを定義することで、独自の入力チェック処理を定義できます。
チェックの実行タイミングは「申請」「承認」などの各種ボタンをクリックした時です。
基本設定
- タイプ
- 「カスタムバリデーション」を選択します。
- 名前
- 入力チェックの名前を設定します。任意の名前を設定してください。
- 説明
- 入力チェックの説明を設定します。
個別設定
- スクリプト
- チェック内容のスクリプトを設定します。
- ここではプレースホルダーが使用できます。使用できるプレースホルダーは「入力フォームのプレースホルダー」「スクリプト専用プレースホルダー」です。
- →プレースホルダーの説明
- お試し実行
- スクリプトの確認を行うために、スクリプトを実行できます。バインド値には、試したい値を設定し、スクリプトを確認してください。
- エラーメッセージを独自に定義
- カスタムバリデーションでエラーになった場合のエラーメッセージを独自に設定できます。
経路ごとの表示・実行設定
このチェックは経路ごとに実行する/しないを選択できます。
注意:
前に戻る、最初の経路に戻る、最後の経路に進む、中止、終了、終了(全)ではチェックは実行されません。
スクリプト
カスタムバリデーションで使用するスクリプトは以下のルールに従って記述してください。
- 使用できるスクリプトの構文は、JavaScript と同一です。
- 入力フォームで入力された値を参照する場合は、プレースホルダーで記述します。
- スクリプトの実行結果として、「true」「false」の返り値を必ず返してください。
- スクリプト内で、JavaScript の function 等を定義することも可能です。
- 入力フォーム内に入力された値のうち特定の文字( \ )が取得できません。
重要:
ここで使用するスクリプトについては、サポート対象外となります。入門書や Web サイトをご覧いただき解決してください。
スクリプトの例1
以下の条件でエラー有無を制御します。入力フォームの「購入金額」の入力内容により、入力チェックを行います。
購入金額 | チェック結果 |
---|---|
30,000円以上 |
エラー |
30,000円未満 |
エラーなし |
以下のスクリプトを入力します。
if (${購入金額} >= 30000) {
return false;
}
return true;
返り値として、「false」を返すとエラーとなり、「true」を返すとエラーなしと判定されます。
スクリプトの例2
以下の条件でエラー有無を制御します。入力フォームの「申請区分」と「購入金額」の組み合わせにより、入力チェックを行います。
申請区分 | 購入金額 | チェック結果 |
---|---|---|
新規 |
30,000以上 |
エラー |
30,000未満 |
エラーなし |
|
追加 |
50,000以上 |
エラー |
50,000未満 |
エラーなし |
以下のスクリプトを入力します。
if (${申請区分} == "新規" ) {
if (${購入金額} >= 30000) {
return false;
}
} else if (${申請区分} == "追加") {
if (${購入金額} >= 50000) {
return false;
}
}
return true;
例1 同様、返り値として、必ず「true」「false」を返しています。
お試し実行
カスタムバリデーションでは、スクリプトの実行結果の確認のために、お試し実行ができます。
プレースホルダーで記述した項目値に仮の値を入力し、「お試し実行」をクリックすると「お試し実行結果」欄に結果が表示されます。
10 を入力して実行すると、結果は「false」となります。9 を入力して実行すると結果は「true」となり、スクリプトが想定通りに動作することが確認できます。
注意:
お試し実行の結果と実際のタスクデータでの実行結果が異なる場合があります。例えば、お試し実行のバインド値で未入力の場合は空文字になるが、実際の場合は「undefined」になるといった差があります。ユーザーへの公開前に様々な入力条件でテストを行ってください。
エラーメッセージの定義
カスタムバリデーションで、エラーとなった場合に、独自のエラーメッセージを画面に表示できます。
「エラーメッセージを独自に定義する」のチェックボックスをオンにするとテキストボックスが表示されます。テキストボックスに、表示したいエラーメッセージを入力します。
エラー表示例