Python における Self とは: 実際の例
Python における Self とは: 実際の例
このチュートリアルでは、データ検証についてと、アプリでデータ検証が必要な理由について説明します。
過去のチュートリアルでフォームをゼロから作成することについて説明しましたが、エンド ユーザーがアプリを通じてシームレスに新しいデータを入力したり、既存の情報を変更したりできるのは驚くべきことです。ただし、エンド ユーザーがフォームの要求内容と一致しない情報を入力する場合があります。ここでデータ検証が登場します。
目次
データ検証とは何ですか?
データ検証により、エンド ユーザーがフォームに誤ったデータを送信するのを防ぎます。
たとえば、名前に数字を付けることは意味がありません。
間違って「I」の代わりに「1」と入力する人もいるかもしれません。
データ検証を行わないで [送信] ボタンを押すと、バックエンド データ ソースが自動的に更新されます。これにより、提供された情報に誤りがあることがわかって問題が発生する可能性があります。データ検証はその問題を回避するのに役立ちます。
データ検証では、フォーム データを送信できるかどうかを判断するのに役立つ特定のルールとパラメーターがチェックされます。
Power Apps でデータ検証を設定するにはさまざまな方法があります。最良の方法をいくつか見てみましょう。
IsMatch を使用したデータ検証
先ほど、データ検証は一連のルールに従って行われると述べました。私たちが示した例の場合、主な問題は、数字が意味をなさないフィールドに数字が入力されることでした。このような場合、IsMatch 関数はそれを回避するのに役立ちます。
IsMatch がどのように機能するかを理解するために、 Microsoft Power Apps のドキュメントを見てみましょう。
IsMatch はテキスト、パターン、およびいくつかのオプションを受け取ります。基本的に、これは、この関数がパターンに基づいてテキストを評価することを示しています。
テキストには、エンド ユーザーがテキスト ボックスに入力した内容がすべて含まれます。パターンとしては、カンマ、数字、電子メール アドレスなど、あらかじめ決められたパターンが多数あります。
たとえば、電子メール パターンを選択すると、IsMatch は入力されたテキストがそのパターンと一致するかどうかを確認します。そこから、True または False が返されます。
この例では、Digit のパターンを使用します。これは、0 から 9 までのすべての 1 桁をカバーします。
このパターンを適用すると、IsMatch 関数はテキスト内の任意の数字を検索し、見つかった内容に応じて true または false を返します。
IsMatch 関数を使用するときに数式をより正確にするのに役立つ特定のパラメーターもあります。この場合、パラメータ Contains を使用します。このパラメータは、パターンがテキスト内に表示されるかどうかをチェックしますが、必ずしもパターンで開始または終了する必要はありません。
アプリに戻って、それをフォームに適用する方法を見てみましょう。
まずラベルを追加します。
送信ボタンの近くに配置しましょう。
ラベル上のテキストを動的に生成したいと考えています。ただし、ここでは、FirstName フィールド (DataCardValue16) の使用に焦点を当てましょう。
これをIF文にしてみます。基本的に、この式が true を返した場合、ラベルには「データ検証エラー」と表示されます。それ以外の場合は空白のままになります。
IF ステートメントは論理テキストで始まるため、FirstName フィールドのテキストを参照する IsMatch 関数をここに挿入します。これは DataCardValue16.Text で表されます。
さらに、このロジックで検索する実際のパターンも追跡します。Match.Digit を追加しましょう。
最後に、いくつかの一致オプションを追加します。ここでは正確なテキストを探しているわけではありません。代わりに、テキストに含まれる任意の数字と一致させたいだけです。そこで、Contains パラメータを追加します。
簡単に言えば、この式は、テキストのどこかに数字が出現するかどうかを尋ねます。true を返した場合、ラベルには「データ検証エラー」と表示されます。そうでない場合は、空白のままになります。
それを試してみましょう。したがって、テキスト ボックスに Lewis と入力し、I の代わりに 1 を使用すると、ラベルにデータ検証エラーが表示されます。
名前全体を入力し���える必要さえなかったことに注目してください。1 を入力すると、すぐにラベルにエラーが表示されました。
このラベルをカスタマイズして、エラーをより目立つようにすることができます。テキストを大きくするだけでなく、エラーがあることを示すためにテキストを赤色にしてみましょう。
したがって、エンド ユーザーがこのエラーを見た場合は、間違ったデータを入力したため、それを修正する必要があることがわかります。
変数を使用したデータ検証
入力しようとしているデータのエラーをエンド ユーザーに通知するラベルを設定しましたが、エラーがある場合でもクリックできる [送信] ボタンがまだあることに気づくでしょう。私たちが望んでいるのは、エラーが検出されたときにボタンがポップアップしないようにすることです。
これを行うには 2 つの方法があります。1 つ目の方法は論理的で簡単な方法で、2 つ目の方法はより複雑ですが、画面にデータ検証をさらに追加し始めると簡単になります。
最初のアプローチから始めましょう。
まず、ラベルで使用されている式全体をコピーします。
次に、ボタンを強調表示し、ドロップダウンで表示プロパティを選択し、数式を数式バーに貼り付けます。これにより、ボタンの可視性がこのロジックに動的に設定されます。
したがって、テキスト ボックスに数字が含まれている場合、ボタンは表示されません。
それが機能するかどうか見てみましょう。Coy の文字 O をゼロに変更すると、エラーが表示され、[送信] ボタンが消えることがわかります。
これを O に戻すと、ボタンが戻ります。
このアプローチの問題は、ラベルとボタンという 2 つの異なる場所で同じロジックを使用していることです。これは、何か変更する必要がある場合は、2 つの異なる場所でも変更する必要があることを意味します。特に、後でさらに検証ロジックを追加する場合、これは面倒になる可能性があります。
この問題を解決するために、別のボタンを追加します。新しいボタンを「送信」ボタンの横に配置しましょう。
これを「検証」ボタンと呼びます。
次に、同じロジックをこのボタンに入れてみましょう。
このボタンで実行したいことは、コンテキストを更新する変数を更新することです。
そこで、データ検証エラーを表示するロジックを要求する数式の部分を削除し、それを UpdateContext に変更しましょう。
変数を参照するにはこれが必要なので、Submitという変数を作成しましょう。実際に検証エラーが発生した場合に備えて、これを false に設定します。
次に、同じ形式ですぐにフォローアップしますが、今回は、テキスト ボックスに数字が含まれていない場合に備えて true に設定します。
私たちが行ったのは、ボタンの可視性をロジックではなく作成した変数に依存させることです。したがって、「送信」ボタンのロジックも変更し、その可視性を「送信」と同じにする必要があります。これが私たちが話している変数です。
それでは、テキスト ボックスに「Coy」と入力し、[検証] をクリックしてみましょう。
ご覧のとおり、これを実行すると [送信] ボタンがポップアップ表示されます。
ここで、O をゼロに変更して、「検証」をクリックしましょう。今度は送信ボタンが消えます。
ボタンを修正したので、ラベル内のロジックも変更しましょう。現時点では、IsMatch 関数を使用した元のロジックがまだ含まれています。
ここでは変数 Submit に基づいてロジックを構築しているため、空白とエラーを交換する必要があります。したがって、Submit が true の場合、ラベルを空白にする必要があります。ただし、Submit が false の場合は、エラー テキストを表示する必要があります。
エンド ユーザーが理解しやすいように、エラー メッセージを「データ検証エラーの可能性 - 検証をクリックして確認してください」に変更しましょう。
使用した新しいロジックをテストするために、Anitra の別のレコードに移動し、[編集] アイコンをクリックしてみましょう。
ご覧のとおり、このページにはまだ検証エラーはありません。
Anitra を Anitr0 に変更して Validate をクリックすると、エラー メッセージが表示されます。
完全な検証プロセスの確保
この画面でデータ検証プロセスを設定した方法が原因で、間違ったデータが送信される可能性がある問題が 2 つあります。
最初の問題は、検証プロセスでエラーが発生しない限り、[送信] ボタンが表示されたままであるため、[検証] ボタンのクリックを省略できることです。したがって、たとえば「Alons5」と入力し、「検証」ボタンを無視して、すぐに「送信」ボタンを押すことができます。
2 番目の問題は、正しいエントリが検証された場合でも、テキスト ボックスに戻って必要なものを入力できることです。そのため、[送信] ボタンが表示された場合は、誰でも簡単にテキスト ボックスに戻って数字を入力し、[送信] ボタンをクリックすることができます。
Submit 変数をデフォルトで false にする必要があります。また、誰かがテキスト ボックスをクリックすると、すべてがデフォルト モードに戻ることを確認する必要もあります。
それでは、[FirstName] フィールドに移動し、プロパティ ドロップダウンで [OnSelect] を選択しましょう。次に、UpdateContext を使用して、Submit 変数を参照してみましょう。次に、それを false に設定します。
これで、誰かがテキスト ボックスをクリックすると、最初に [検証] をクリックするよう自動的にユーザーに求められます。
したがって、名前を Frank に変更して [検証] をクリックしようとすると、そのときだけ [送信] ボタンが表示されます。
しかし、同じテキスト ボックスに戻って Frank の末尾に 1 を追加しようとすると、エラーが表示され、[送信] ボタンが表示されないデフォルトの状態に戻ってしまいます。
Power Apps の概要: 定義、機能、関数、および重要性
PowerApps 関数と数式 | 詳細画面の Power Apps フォームとデータ カードの概要
結論
データ検証はデータを保護し、エンドユーザーが誤って間違ったレコードを送信しないようにするのに役立ちます。このチュートリアルで説明したことは、実際には基本の一部にすぎません。必要に応じて、必要なだけ検証の種類を追加できます。
さらに、データ検証は名に対してのみ設定します。姓についても同じことを行うことができます。VIP レベルやパスポート番号を数字のみを表示するように設定することもできます。すべては、異なる検証プロセスをどのフィールドに適用するかによって異なります。
ではごきげんよう、
ヘンリー
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて