正規表現による入力チェック&差し戻し機能付きTracker

概要

ネットで買い物とか企業サイトの登録とかしようとすると必ずある機能
入力にエラーがあるとメッセージとともに再入力させられます

ダウンロード

tracker.inc.php.txt

設定

設定ページに多少の追記が必要。以下に例を示します

定義サンプル

* fields

項目名見出し形式オプションデフォルト値チェック
textテキストtext20textのデフォルト値not null,numeric
pageページpage20pageのデフォルト値numeric,0or1

* check

チェック名正規表現表示メッセージ
not null^(.+)$空白はダメ
numeric^([0-9]*)$数字で入力してください
0or1^(0[[]]1)$0か1

ソース

* fields
|項目名|見出し  |形式|オプション|デフォルト値      |チェック        |h
|text  |テキスト|text|20        |textのデフォルト値|not null,numeric|
|page  |ページ  |page|20        |pageのデフォルト値|numeric,0or1|

* check
|チェック名|正規表現  |表示メッセージ        |h
|not null  |^(.+)$    |空白はダメ            |
|numeric   |^([0-9]*)$|数字で入力してください|
|0or1      |^(0[[]]1)$|0か1                  |

メッセージ

苦しい点としては、以下の2つがあります

  1. 正規表現の中で用いられるORの記号'|'が表崩れの原因となる
    → 正規表現で用いられることの無い表現'[[]]'を用いて評価直前で置換している
  2. checkという文字列を取ってしまったので、同名のフィールドが定義できない(定義できても、オプション設定ができない)
    → おそらくfieldsと同じ状態

新たに異なるファイル名にすると定数定義や関数名変更が面倒なのでそのままにしました。 オリジナルのバックアップを取ってから上書きしてから使ってみてください



トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-04-11 (水) 08:06:10
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.169 sec.

SourceForge