入力文字の変換

フォームに入力した内容を検証するのではなく、(文字エンコーディングの変換ではなく)文字変換を検証する前に行う機能拡張です。元々の動機は以下の2つです。

  • ユーザーが気づかずに、いわゆる全角文字で入力したメールアドレスを何とかしたい。
  • いわゆる機種依存文字で入力してしまった内容を何とかしたい。

前者は、入力の検証の追加で入力を防止することはできますが、全角文字は単純に半角文字に変換できれば再入力を促すよりも親切です。

後者は、Unicodeの正規化を行うことで可能な部分があります。これはI18N_UnicodeNormalizerといったPEARのライブラリを使用して達成できます。

ここでは作成した機能拡張の大枠的なところだけを説明しています。

以上を、フォームジェネレーターのテキスト入力とテキストエリアに機能追加します。