パスワード検証

  • 作成者:ayuan0625
  • 編集回数:24次
  • 最終更新:FRInternational 于 2021-12-21
  • 一.概要

    1.問題の概要

    書き込みテンプレートにおいて、ユーザの書き込みデータとデータベースの関連データを比べ、検証をカスタマイズします。

    例えば、ユーザからパスワードを変更する際、まず旧パスワードを入力します。もし旧パスワードはデータベースに保存されているパスワードに一致していれば、変更が可能です。そうでなければ、注意メッセージがポップアップされます。下図の通りです。

    01.gif

    2.実現方法

    ビルトイン検証を追加し、数式でデータベースのデータを取得し、セルの入力値と比べて検証します。

    二.操作手順

    1.テンプレート設計

    下図の通りテーブルをデザインし、B2セルとB3セルにパスワードウィジェットを入れます。

    02.png

    2.帳票書き込み属性の設定

    メニューバーでテンプレート-帳票書き込み属性をクリックし、ビルトインSQLを新規作成して書き込みます。データベースは FRDemoJP、テーブルは userinfo、フィールド自動追加でusername userpass、それぞれの値をパラメータ$fine_usernameとセルB3にします。username にチェックを入れて主キーに設定します。下図の通りです。

    注:パラメータ$fine_usernameはパスワード変更のため、現在ログインユーザのユーザ名を取得することを指します。

    03.png

    3.データ検証設定

    メニューバーでテンプレート-帳票書き込み属性をクリックし、データ検証でビルトイン検証を新規追加し、検証項目を一つ追加します。下図の通りです。

    検証数式のところにB2==sql("FRDemo","select * from userinfo where username='"+$fine_username+"'",3)を入力します。

    検証のエラーメッセージに旧パスワードが間違っているため、変更ができませんを入力します。

    注:検証数式の意味はuserinfo テーブルにおいてユーザ名の対応するパスワードを絞り込むということです。

    04.png

    4.効果プレビュー

    Anna のアカウントを使ってテンプレートをプレビューします。

    05.png

    userinfo テーブルにおいてAnnaのパスワードは123456です。

    06.png

    入力された旧パスワードは123456ではない場合、データ検証では次のヒントが表示されます:旧パスワードが間違っているため、変更ができません。

    入力された旧パスワードは123456である場合、データ検証ではチェック成功と表示されます。続いて書き込みをクリックすれば新しいパスワードがデータベースに保存されます。下図の通りです。

    07.gif

    Attachment List


    Theme: FineReport データ書き込み
    既に最初
    既に最後
    • Helpful
    • Not helpful
    • Only read