Home > コンポーネント シリーズ > 検証 > 検証コンポーネントを使用する

検証コンポーネントを使用する

以下の例は、Magic xpiのフローでどのように検証コンポーネントを使用するかを示しています。このシナリオでは、コンポーネントを使用してHTTPから来た注文をチェックします。もし中身が有効であればフローは引き続き実行されます。

  1. 新しいHTTPサービスを定義します。こちらを参照してください。

  2. [設定]ダイアログボックスの[サービス]セクションで[エンドポイント]ボタンをクリックしてください。[エンドポイント]ダイアログボックスが開きます。ここで左側のペインで[新規]をクリックして適切なエンドポイント名を入力します。右側のペインで[新規]をクリックしてエンドポイントに引数を追加します。

  3. この例のために二つの引数を追加します。最初の引数のデータタイプは文字とし、二つ目は数値にします。これが終了したら[OK]をクリックして[エンドポイント]ダイアログボックスを閉じ、次に[設定]ダイアログボックスの[適用]をクリックします。

  4. 次の段階は、必要なフロー変数を定義することです。これを行うには、関連したフローで[フロー変数]をダブルクリックしてください。フロー変数リポジトリで、[追加]をクリックしてください。F.Name1変数のデータタイプを文字と定義します。再び[追加]クリックして、F.Name2変数のデータタイプを数値と定義してください。これらのデータタイプが先ほど定義したエンドポイントの引数のデータタイプと一致していることに留意してください。更にもう一度、[追加]をクリックして変数名をF.Valid_Inputと入力します。この変数のデータタイプは論理と定義します。[保存]をクリックして変数を保存します。

  5. HTTPコンポーネントをMagic xpiスタジオのトリガエリアにドラッグします。[プロパティ]ペインが開きます。[設定]セクションで、値が[設定]ダイアログボックスの[サービス]セクションで定義したものであることが確認できるはずです。

  6. コンポーネントをダブルクリックするか、右クリックしてコンテキストメニューから[構成]を選択してください。[コンポーネント設定:HTTP]ダイアログボックスが開きます。読み込み専用の[サービス名]フィールドには、[設定]ダイアログボックスの[サービス]セクションで定義した名前が表示されます。[エンドポイント名]フィールドでは、先ほど定義したエンドポイントを選択します。[引数詳細]セクションでは、以前に定義した引数の値が表示されます。

ここで引数1の[マッピング変数]カラムで をクリックして変数リストを開きます。リストからF.Name1変数を選択します。

引数2の[マッピング変数]カラムで をクリックして変数リストを開きます。リストからF.Name2変数を選択します。

  1. [OK]をクリックして[コンポーネント設定:HTTP]ダイアログボックスを閉じます。

  2. HTTPトリガの設定が終了したら受け取るデータを検査する必要があります。この例では文字数値のデータタイプは検査する必要があります。検査を行なうには、検証コンポーネントをフローエリアにドラッグします。[プロパティ]ペインは開きます。コンポーネントをダブルクリックするか、右クリックしてコンテキストメニューから[構成]を選択します。[ダイレクトアクセスメソッド:検証]ダイアログが開きます。

  3. 最初に文字データの検査パラメータを定義します。[ダイレクトアクセスメソッド:検証委]ダイアログボックスで[追加]をクリックします。ドロップダウンリストから Alpha Field Valueメソッド選択します。パラメータに以下の値を入力します。太字のパラメータは必須です。

パラメータ

入力値

をクリックして式エディタを開きます。 をクリックし変数リストを開きます。リストから F.Name1を選択します。[検証]をクリックしてこの変数の妥当性を確認し[OK]をクリックして式エディタを閉じます。

検査値

をクリックして式エディタを開きます。確認したい有効な値を入力します。例えば'ABC'です。[検証]をクリックしてこの値の妥当性を確認し、[OK]をクリックして式エディタを閉じます。

戻り値

をクリックして変数リストを開きます。F.Valid_Input(以前定義した)を選択し、[選択]をクリックします。

 

データタイプのいずれかが妥当性検査を通らなかった場合、データの妥当性検査を続ける必要はありません。このメソッドに条件を追加して特定の値が妥当性検査を通らなかった場合、この妥当性検査処理やフローを終了させることができます。

これを行なうには左側ペインの[条件]カラムのAlpha Field Valueメソッド名の横の ボタンをクリックします。式エディタが開いたら をクリックして変数リストを開きます。F.Valid_Input を選択します。[OK]をクリックして式エディタを閉じます。

  1. 次に数値データタイプの妥当性検査パラメータを定義します。[ダイレクトアクセスメソッド:検証]ダイアログボックスから[追加]をクリックします。ドロップダウンリストからNumeric Field Range メソッドを選択します。パラメータとして、以下の値を入力します。太字のパラメータは必須です。

パラメータ

入力値

をクリックして式エディタを開きます。 をクリックして変数リストを開きます。リストからF.Name2 を選択します。[検証]をクリックしてこの変数の妥当性を検査し、[OK]をクリックして式エディタを閉じます。

範囲タイプ

ドロップダウンリストから 最小値 から 最大値を選択します。

最小値

ここに 10 を入力します。

最大値

ここに 25 を入力します。

戻り値

をクリックして変数リストを開きます。F.Valid_Input(以前定義した)を選択して[選択]をクリックします。

  1. [OK]をクリックして[ダイレクトアクセスメソッド: 検証]ダイアログボックスを閉じます。

  2. メッセージ保存ユーティリティを検証コンポーネントの子になるようにフローにドラッグします。[名前]フィールドに Invalid Input と入力します。[メッセージ]フィールドで をクリックし、式エディタを開きます。 Invalid Input と入力し[OK]をクリックします。

  3. 別のメッセージ保存ユーティリティを検証コンポーネントのもうひとつの子になるようにフローにドラッグします。[名前]フィールドに Valid Inputと入力します。[メッセージ]フィールドで をクリックし式エディタを開きます。Valid Inputと入力し、[OK]をクリックします。

検証コンポーネントをこのように使用するとHTTPを通して受け取ったデータが妥当でない場合、フローは実行されません。