IsMatch と変数を使用したデータ検証

IsMatch と変数を使用したデータ検証

このチュートリアルでは、データ検証についてと、アプリでデータ検証が必要な理由について説明します。

過去のチュートリアルでフォームをゼロから作成することについて説明しましたが、エンド ユーザーがアプリを通じてシームレスに新しいデータを入力したり、既存の情報を変更したりできるのは驚くべきことです。ただし、エンド ユーザーがフォームの要求内容と一致しない情報を入力する場合があります。ここでデータ検証が登場します。

目次

データ検証とは何ですか?

データ検証により、エンド ユーザーがフォームに誤ったデータを送信するのを防ぎます。

たとえば、名前に数字を付けることは意味がありません。

IsMatch と変数を使用したデータ検証

間違って「I」の代わりに「1」と入力する人もいるかもしれません。

IsMatch と変数を使用したデータ検証

データ検証を行わないで [送信] ボタンを押すと、バックエンド データ ソースが自動的に更新されます。これにより、提供された情報に誤りがあることがわかって問題が発生する可能性があります。データ検証はその問題を回避するのに役立ちます。

データ検証では、フォーム データを送信できるかどうかを判断するのに役立つ特定のルールとパラメーターがチェックされます。

Power Apps でデータ検証を設定するにはさまざまな方法があります。最良の方法をいくつか見てみましょう。

IsMatch を使用したデータ検証

先ほど、データ検証は一連のルールに従って行われると述べました。私たちが示した例の場合、主な問題は、数字が意味をなさないフィールドに数字が入力されることでした。このような場合、IsMatch 関数はそれを回避するのに役立ちます。

IsMatch がどのように機能するかを理解するために、 Microsoft Power Apps のドキュメントを見てみましょう。

IsMatch と変数を使用したデータ検証

IsMatch はテキスト、パターン、およびいくつかのオプションを受け取ります。基本的に、これは、この関数がパターンに基づいてテキストを評価することを示しています。

テキストには、エンド ユーザーがテキスト ボックスに入力した内容がすべて含まれます。パターンとしては、カンマ、数字、電子メール アドレスなど、あらかじめ決められたパターンが多数あります。

IsMatch と変数を使用したデータ検証

たとえば、電子メール パターンを選択すると、IsMatch は入力されたテキストがそのパターンと一致するかどうかを確認します。そこから、True または False が返されます。

この例では、Digit のパターンを使用します。これは、0 から 9 までのすべての 1 桁をカバーします。

IsMatch と変数を使用したデータ検証

このパターンを適用すると、IsMatch 関数はテキスト内の任意の数字を検索し、見つかった内容に応じて true または false を返します。

IsMatch 関数を使用するときに数式をより正確にするのに役立つ特定のパラメーターもあります。この場合、パラメータ Contains を使用します。このパラメータは、パターンがテキスト内に表示されるかどうかをチェックしますが、必ずしもパターンで開始または終了する必要はありません。

IsMatch と変数を使用したデータ検証

アプリに戻って、それをフォームに適用する方法を見てみましょう。

まずラベルを追加します。

IsMatch と変数を使用したデータ検証

送信ボタンの近くに配置しましょう。

IsMatch と変数を使用したデータ検証

ラベル上のテキストを動的に生成したいと考えています。ただし、ここでは、FirstName フィールド (DataCardValue16) の使用に焦点を当てましょう。

IsMatch と変数を使用したデータ検証

これをIF文にしてみます。基本的に、この式が true を返した場合、ラベルには「データ検証エラー」と表示されます。それ以外の場合は空白のままになります。

IsMatch と変数を使用したデータ検証

IF ステートメントは論理テキストで始まるため、FirstName フィールドのテキストを参照する IsMatch 関数をここに挿入します。これは DataCardValue16.Text で表されます。

IsMatch と変数を使用したデータ検証

さらに、このロジックで検索する実際のパターンも追跡します。Match.Digit を追加しましょう。

IsMatch と変数を使用したデータ検証

最後に、いくつかの一致オプションを追加します。ここでは正確なテキストを探しているわけではありません。代わりに、テキストに含まれる任意の数字と一致させたいだけです。そこで、Contains パラメータを追加します。

IsMatch と変数を使用したデータ検証

簡単に言えば、この式は、テキストのどこかに数字が出現するかどうかを尋ねます。true を返した場合、ラベルには「データ検証エラー」と表示されます。そうでない場合は、空白のままになります。

それを試してみましょう。したがって、テキスト ボックスに Lewis と入力し、I の代わりに 1 を使用すると、ラベルにデータ検証エラーが表示されます。

IsMatch と変数を使用したデータ検証

名前全体を入力し���える必要さえなかったことに注目してください。1 を入力すると、すぐにラベルにエラーが表示されました。

このラベルをカスタマイズして、エラーをより目立つようにすることができます。テキストを大きくするだけでなく、エラーがあることを示すためにテキストを赤色にしてみましょう。

IsMatch と変数を使用したデータ検証

したがって、エンド ユーザーがこのエラーを見た場合は、間違ったデータを入力したため、それを修正する必要があることがわかります。

変数を使用したデータ検証

入力しようとしているデータのエラーをエンド ユーザーに通知するラベルを設定しましたが、エラーがある場合でもクリックできる [送信] ボタンがまだあることに気づくでしょう。私たちが望んでいるのは、エラーが検出されたときにボタンがポップアップしないようにすることです。

これを行うには 2 つの方法があります。1 つ目の方法は論理的で簡単な方法で、2 つ目の方法はより複雑ですが、画面にデータ検証をさらに追加し始めると簡単になります。

最初のアプローチから始めましょう。

まず、ラベルで使用されている式全体をコピーします。

IsMatch と変数を使用したデータ検証

次に、ボタンを強調表示し、ドロップダウンで表示プロパティを選択し、数式を数式バーに貼り付けます。これにより、ボタンの可視性がこのロジックに動的に設定されます。

IsMatch と変数を使用したデータ検証

したがって、テキスト ボックスに数字が含まれている場合、ボタンは表示されません。

IsMatch と変数を使用したデータ検証

それが機能するかどうか見てみましょう。Coy の文字 O をゼロに変更すると、エラーが表示され、[送信] ボタンが消えることがわかります。

IsMatch と変数を使用したデータ検証

これを O に戻すと、ボタンが戻ります。

IsMatch と変数を使用したデータ検証

このアプローチの問題は、ラベルとボタンという 2 つの異なる場所で同じロジックを使用していることです。これは、何か変更する必要がある場合は、2 つの異なる場所でも変更する必要があることを意味します。特に、後でさらに検証ロジックを追加する場合、これは面倒になる可能性があります。

この問題を解決するために、別のボタンを追加します。新しいボタンを「送信」ボタンの横に配置しましょう。

IsMatch と変数を使用したデータ検証

これを「検証」ボタンと呼びます。

IsMatch と変数を使用したデータ検証

次に、同じロジックをこのボタンに入れてみましょう。

IsMatch と変数を使用したデータ検証

このボタンで実行したいことは、コンテキストを更新する変数を更新することです。

そこで、データ検証エラーを表示するロジックを要求する数式の部分を削除し、それを UpdateContext に変更しましょう。

IsMatch と変数を使用したデータ検証

変数を参照するにはこれが必要なので、Submitという変数を作成しましょう。実際に検証エラーが発生した場合に備えて、これを false に設定します。

IsMatch と変数を使用したデータ検証

次に、同じ形式ですぐにフォローアップしますが、今回は、テキスト ボックスに数字が含まれていない場合に備えて true に設定します。

IsMatch と変数を使用したデータ検証

私たちが行ったのは、ボタンの可視性をロジックではなく作成した変数に依存させることです。したがって、「送信」ボタンのロジックも変更し、その可視性を「送信」と同じにする必要があります。これが私たちが話している変数です。

IsMatch と変数を使用したデータ検証

それでは、テキスト ボックスに「Coy」と入力し、[検証] をクリックしてみましょう。

IsMatch と変数を使用したデータ検証

ご覧のとおり、これを実行すると [送信] ボタンがポップアップ表示されます。

IsMatch と変数を使用したデータ検証

ここで、O をゼロに変更して、「検証」をクリックしましょう。今度は送信ボタンが消えます。

IsMatch と変数を使用したデータ検証

ボタンを修正したので、ラベル内のロジックも変更しましょう。現時点では、IsMatch 関数を使用した元のロジックがまだ含まれています。

IsMatch と変数を使用したデータ検証

ここでは変数 Submit に基づいてロジックを構築しているため、空白とエラーを交換する必要があります。したがって、Submit が true の場合、ラベルを空白にする必要があります。ただし、Submit が false の場合は、エラー テキストを表示する必要があります。

IsMatch と変数を使用したデータ検証

エンド ユーザーが理解しやすいように、エラー メッセージを「データ検証エラーの可能性 - 検証をクリックして確認してください」に変更しましょう。

IsMatch と変数を使用したデータ検証

使用した新しいロジックをテストするために、Anitra の別のレコードに移動し、[編集] アイコンをクリックしてみましょう。

IsMatch と変数を使用したデータ検証

ご覧のとおり、このページにはまだ検証エラーはありません。

IsMatch と変数を使用したデータ検証

Anitra を Anitr0 に変更して Validate をクリックすると、エラー メッセージが表示されます。

IsMatch と変数を使用したデータ検証

完全な検証プロセスの確保

この画面でデータ検証プロセスを設定した方法が原因で、間違ったデータが送信される可能性がある問題が 2 つあります。

最初の問題は、検証プロセスでエラーが発生しない限り、[送信] ボタンが表示されたままであるため、[検証] ボタンのクリックを省略できることです。したがって、たとえば「Alons5」と入力し、「検証」ボタンを無視して、すぐに「送信」ボタンを押すことができます。

IsMatch と変数を使用したデータ検証

2 番目の問題は、正しいエントリが検証された場合でも、テキスト ボックスに戻って必要なものを入力できることです。そのため、[送信] ボタンが表示された場合は、誰でも簡単にテキスト ボックスに戻って数字を入力し、[送信] ボタンをクリックすることができます。

IsMatch と変数を使用したデータ検証

Submit 変数をデフォルトで false にする必要があります。また、誰かがテキスト ボックスをクリックすると、すべてがデフォルト モードに戻ることを確認する必要もあります。

それでは、[FirstName] フィールドに移動し、プロパティ ドロップダウンで [OnSelect] を選択しましょう。次に、UpdateContext を使用して、Submit 変数を参照してみましょう。次に、それを false に設定します。

IsMatch と変数を使用したデータ検証

これで、誰かがテキスト ボックスをクリックすると、最初に [検証] をクリックするよう自動的にユーザーに求められます。

IsMatch と変数を使用したデータ検証

したがって、名前を Frank に変更して [検証] をクリックしようとすると、そのときだけ [送信] ボタンが表示されます。

IsMatch と変数を使用したデータ検証

しかし、同じテキスト ボックスに戻って Frank の末尾に 1 を追加しようとすると、エラーが表示され、[送信] ボタンが表示されないデフォルトの状態に戻ってしまいます。

IsMatch と変数を使用したデータ検証


Power Apps の概要: 定義、機能、関数、および重要性
PowerApps 関数と数式 | 詳細画面の Power Apps フォームとデータ カードの概要

結論

データ検証はデータを保護し、エンドユーザーが誤って間違ったレコードを送信しないようにするのに役立ちます。このチュートリアルで説明したことは、実際には基本の一部にすぎません。必要に応じて、必要なだけ検証の種類を追加できます。

さらに、データ検証は名に対してのみ設定します。姓についても同じことを行うことができます。VIP レベルやパスポート番号を数字のみを表示するように設定することもできます。すべては、異なる検証プロセスをどのフィールドに適用するかによって異なります。

ではごきげんよう、

ヘンリー


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて