データを検証するための関数

完了

ユーザーに対してアプリをより動的で直感的にするもう 1 つの方法は、IsBlankIsBlankOrErrorIsEmptyIsNumericIsTodayIsMatch などの検証関数を使用することです。 これらの関数では、フィールド、コントロール、変数、テーブルの条件を検証できます。 どの関数でも、評価の結果に基づいてブール値 (true または false) が返されます。 多くの場合、これらの関数はユーザーにメッセージやオプションを表示するために、If または Switch 関数と併せて使用されます。

たとえば、これらの関数を使用し、フィールドが空白の場合や、フィールドのデータが特定の形式と一致しない場合は、フォームの送信をユーザーに許可しないように構成できます。

数値入力の検証の概要

例を挙げて考えてみましょう。 テキスト入力 コントロール (既定値は空白) と、テキスト ラベル コントロール (Text プロパティに式を入力) の 2 つのコントロールを、上下に並べて配置するとします。 ラベルの Text プロパティに、If ステートメントを含む IsNumeric テストを使用します。 ラベル コントロールの Text プロパティを変更することで、出力を変更できます。

次の画像にある、Text プロパティの If ステートメントに注目してください。 テキスト入力フィールドに入力されたテキストに対する IsNumeric 検証の結果に応じて、ラベル コントロールに異なるテキスト出力を表示するように式が記述されています。

If(IsNumeric) 条件を含むラベルの Text プロパティのスクリーンショット。

アプリをプレビュー モードに切り替えると、入力フィールドへのテキスト入力が可能になり、その下のラベルに数字の入力を求めるメッセージが表示されます。

テキスト入力フィールドに入力されたテキストと、

数字を入力すると、ラベルのメッセージが変わります。

テキスト入力フィールドに入力された数字 45.7 と、

ヒント

これらの関数では、Not (または !) 演算子も使用できます。 たとえば、IsBlank空白の条件をテストしますが、!IsBlank空白以外の条件をテストします。

検証関数をアプリに使用することで、ユーザーによる入力やアプリ全体の対話機能を向上させることができます。

使用可能な検証関数

次に、Power Apps で使用される検証関数をいくつか簡単に紹介します (先述のとおり、出力は常に true または false になります)。

  • IsBlank - フィールド、プロパティ、または変数をチェックして結果が空白かどうかを確認します。

  • IsBlankOrError -- 式が空白であるか、エラーが発生したかを確認し、true または false を返します。

  • IsEmpty -- データのテーブルをチェックして、レコードが含まれているかどうかを確認します。

  • IsError - 値のエラーをテストします。

  • IsMatch - テキスト文字列をチェックして、結果が指定されたパターンと一致するかどうかを確認します。 たとえば、入力されたメールや電話番号をテストするために、この関数を使用できます。

  • IsNumeric - フィールド、プロパティ、または変数をチェックして結果が数値かどうかを確認します (前の例を参照)。

  • IsToday - 日付または時刻の値をチェックして、現地時間で今日の午前 0 時から明日の午前 0 時までの間にあるかどうかを確認します。

  • IsUTCToday - IsToday と似ていますが、タイム ゾーン非依存であり、現地時間ではなく協定世界時 (UTC) を使用する点が異なります。

  • Not() 関数または ! 関数をこれらの検証の前に使用すると、逆の状態を検証できます。 たとえば、!IsBlank は、値が空白でないことを確認します。 (Not は、引数が false の場合に true を返します。)

IsMatch の例

もう 1 つ、IsMatch 関数を使用する例を見てみましょう。 IsMatch 関数を使用し、テキスト入力 コントロールに入力されたメール アドレスが有効でない場合は、ボタンを無効にします。 電子メールは事前定義のパターンであるため、簡単に使用できます。 ただし、ここではパターンのみをテストし、メール アドレスが実際に使用可能かどうかは検証しません。 デモ アプリを使用して、次の操作を行います。

  1. テキスト入力 コントロールをキャンバスに追加します。 "Text Input" を削除して既定のプロパティを空白にします。 コントロールの名前を tiEmailEntry に変更します。

  2. ボタン コントロールをテキスト入力フィールドの下に追加します。

  3. ボタン コントロールの DisplayMode プロパティを次の式に変更します。

    If(IsMatch(tiEmailEntry.Text, Match.Email), DisplayMode.Edit, DisplayMode.Disabled)
    

    このメールを照合する式により、Power Apps は入力フィールドのテキスト値が、"英数字の文字列の後に @ 記号、英数字の文字列、ピリオド (.) が続き、2 文字以上の文字列で終わる" というパターンに一致するかどうかをテストします。 入力文字列がこのパターンに一致しない場合、ボタンは "無効" モードのまま、ユーザーによる操作ができない状態になります。 では、この機能をテストしましょう。

  4. 右上隅にある再生ボタンを選択して、アプリをプレビューします。

  5. フィールドが空白か、または不完全なメール アドレスの場合、ボタンは無効になり、グレーで表示されます。 @ やピリオド (.) を除いたメール アドレスを試してください。

    @ 記号のない無効なメール アドレスがテキスト入力フィールドに入力され、その下のボタンが無効になっているスクリーンショット。

    適切な形式のメール アドレスを入力すると、ボタンが青色に変わり、選択可能になります。

    有効なメール アドレスがテキスト入力フィールドに入力され、その下のボタンが編集モードになっているスクリーンショット。

データ検証機能は、ユーザーが入力したデータの形式調整に役立つツールです。 この機能を使用することで、データ入力エラーをなくし、ユーザー エクスペリエンスを向上することができます。