検証スクリプトのメッセージへのデータのダイナミックな埋め込み

検証スクリプトのメッセージには、データソースの値をダイナミックに埋め込むことができます。これにより、確実に有効な値がフィールドに入力されるようになります。

例えば、フィールドのスクリプトで必要としている値と一致しない値をユーザーがフィールドに入力した場合に、カスタムエラーメッセージを表示させることができます。一例を挙げると、「Quantity」などの数値フィールドには、100 より大きい数値を許可しないスクリプトをアタッチすることができます。ユーザーが 100 より大きい数値を入力すると、カスタムエラーメッセージが表示されます。

接続したスキーマで次のように検証スクリプトが定義されているとします。

<form> 
      <validationScript dp_scriptMessage="message1"/> 
</form>

参照されるよう指定したデータファイルで次のように検証スクリプトが定義されているとします。

<form> 
      <validationScript dp_scriptMessage="DP Script Message - The quantity must be less than or equal to 100."/> 
</form>

データファイルとフォームデザインを結合し、「Quantity」フィールドに 100 より大きい数値を入力すると、エラーダイアログボックスが表示されます。

もう 1 つの例として、スクリプトにアタッチするカスタムエラーメッセージを別の言語で表示させることもできます。参照されるよう指定したデータファイルで次のように検証スクリプトが定義されているとします。

<form> 
      <validationScript dp_scriptMessage="Entrez un nombre inférieur ou égal à 100."/> 
</form>

データファイルとフォームデザインを結合し、「Quantity」フィールドに 100 より大きい数値を入力すると、エラーダイアログボックスがフランス語で表示されます。

注意: データファイルで ASCII テキスト以外(アクセント記号など)を使用する場合は、ファイルが適切にエンコードされ、エンコーディングが XML 処理指示形式で正しく表記されていなければなりません。次に例を示します。

<?xml version="1.0" encoding="UTF-8"?>

この作業を行う前に、次の条件を満たしていることを確認する必要があります。

  1. オブジェクトライブラリパレットで標準カテゴリをクリックし、オブジェクトをフォームデザインにドラッグします。

    ここでは、数値フィールドオブジェクトを挿入します。

  2. (オプション)オブジェクトパレットで「フィールド」タブをクリックし、「キャプション」ボックスにオブジェクトのキャプションを入力します。

    ここでは、「Quality」と入力します。

  3. スクリプトエディターで、イベントリストから「validate」を選択します。

  4. スクリプトエディターで、「言語」ボックスから言語を選択します。

    ここでは、「言語」ボックスから「JavaScript」を選択します。

  5. オブジェクトのスクリプトを入力します。

    ここでは、「Quantity」フィールドに次のスクリプトを入力します。

    this.rawValue <= 100

  6. オブジェクトパレットで「値」タブをクリックし、「検証スクリプトのメッセージ」アクティブなラベルをクリックします。

  7. データ接続を選択します。

    注意: データソースにまだ接続していない場合、データ接続リストで選択できるのは「デフォルトのデータ連結」のみです。
  8. 「連結」ボックスの横にある三角形をクリックして連結を選択します。

    ここでは、validation/@dp_scriptMessage を選択します。

    「連結」ボックスに次の文字列が表示されます。

    $record.validation.dp_scriptMessage

    この文字列を選択する代わりに、「アイテム」ボックスにこの文字列を入力することもできます。
  9. 「OK」をクリックします。

  10. 「PDF プレビュー」タブでエラーメッセージを表示します。

    例えば、「PDF プレビュー」タブで 100 より大きい数量を入力します。