サポート > リポジトリ > モデル項目 > 入力フィルタの仕様

入力フィルタ機能の詳細を説明します。

Wagbyでは、入力された値は「フィルタ」によって補正されます。 フィルタにより「ゆれ」を自動的に補正することができます。この機能は自動的に設定されます。

Web フォームから入力された文字列は、最初にこのフィルタ処理が適用されます。フィルタ適用後に計算処理が行われ、最後にデータベースへの更新が行われます。
図1 文字列型項目の入力フィルタの設定

文字列(一般)

入力値を「文字列」と判定するフィルタです。日本語が含まれる値が入る項目は「文字列(一般)」フィルタを選択することを推奨します。次のような処理が行われます。

  • 前後のスペース(半角/全角空白及びタブ)を削除
  • 改行コードを "LF" に統一します。
  • 全角アルファベットを半角にします。
  • 数字を半角にします。
  • 記号を半角にします。
  • 半角カタカナを全角カタカナにします。
  • 「−」(マイナス)、「ー」(長音)、「—」(ダッシュ)、「-」(ハイフン) 等の全角マイナス文字を 「ー」(長音)に統一します。

すなわち、本指定は後述する「文字列(最小限)」「半角→全角」「全角→半角」を含んだものとなっています。

文字列(最小限)

改行コードを "LF" に統一します。

改行コードを "LF" へ統一することで、ユーザが利用するクライアント OS にかかわらず、データベースに格納された文字列は、常に改行文字は LF であることを保証します。

日付型

入力値を日付と判断して、日付型に変換するフィルタです。全角で入力された数値はすべて半角に統一します。

数字型

入力値を数値と判断して、数値型に変換するフィルタです。全角で入力された数値はすべて半角に統一します。

半角→全角

入力値に半角文字が含まれていた場合、この半角文字に対応する全角文字に変換します。

半角→全角(カナのみ)

入力値に半角カタカナが含まれていた場合、この半角カタカナを全角カタカナに変換します。

半角→全角(空白を含む)

入力値に半角文字が含まれていた場合、この半角文字に対応する全角文字に変換します。半角空白も全角空白に変換します。

全角→半角

入力値に全角文字が含まれていた場合、この全角文字に対応する半角文字に変換します。対応する半角文字がなければ変換はされません。

全角→半角(空白を含む)

入力値に全角文字が含まれていた場合、この全角文字に対応する半角文字に変換します。全角空白も半角空白に変換します。対応する半角文字がなければ変換はされません。

フィルタを「なし」とすることはできません。この欄を空白とした場合、フィルタなしではなく、型に応じた標準のフィルタが自動選択されます。例えば文字列型の場合は「文字列(一般)」が適用されます。全角英数字や半角カナ文字をそのまま保存したい場合は「文字列(最小限)」を選択してください。
フィルタはWebフォーム、アップロード更新、REST APIいずれも共通で利用されます。

各フィルタの詳細な仕様は次のとおりです。(数値はフィルタ処理の順番です。)

文(小) 半→全 半→全(カ) 半→全(空) 全→半 全→半(空)
XML文字 1 1 1 1 1 1 1 1 1
空白除去 2 2 2 2 2 2 2 2
改行除去 3 2 3 3 3 3 3 3 3
英 全→半 4 4 4 4
英 半→全 4 4
数 全→半 5 4 5 5 5
数 半→全 5 5
記 全→半 6 5 6 6 6
記 半→全 6 6
仮 全→半 7 7
仮 半→全 7 7 4 7
マ 全→半 6 7 8 8
マ 半→全 8 8
正 半マ 9 9
正 全マ 8 7 8 9 9
空 全→半 10
空 半→全 10
  • 「XML文字」とは、"&#xxxx;" 形式でWebブラウザから送られてきたUnicode文字をJavaが扱える文字に変換するフィルタです。IE など一部のブラウザがこのような送信を行うことがあります。
  • 「空白除去」は、入力文字列の前後にある半角、全角、タブ文字を取り除きます。
  • 「改行除去」は、改行文字を "LF" に統一します。
  • 「英 全→半」は、全角のアルファベット文字を半角に置き換えます。
  • 「英 半→全」は、半角のアルファベット文字を全角に置き換えます。
  • 「数 全→半」は、全角の数字文字を半角に置き換えます。
  • 「数 半→全」は、半角の数字文字を全角に置き換えます。
  • 「記 全→半」は、全角の記号文字を半角に置き換えます。
  • 「記 半→全」は、半角の記号文字を全角に置き換えます。
  • 「仮 全→半」は、全角の仮名文字を半角に置き換えます。
  • 「仮 半→全」は、半角の仮名文字を全角に置き換えます。
  • 「マ 全→半」は、全角のマイナス(長音)文字を半角に置き換えます。対象となる全角文字は次のとおりです。'\u2212','\u2015','\u30fc','\uff0d','\u2500','\u2014','\u2010','\u2011','\u2012','\u2013'
  • 「マ 半→全」は、半角のマイナス文字を全角('\u30fc')に置き換えます。
  • 「正 半マ」は、半角マイナス文字を '-' に統一します。
  • 「正 全マ」は、さまざまな全角のマイナス(長音)文字を'\u30fc'に統一します。
  • 「空 全→半」は、全角スペース文字を半角スペース文字に置き換えます。
  • 「空 半→全」は、半角スペース文字を全角スペース文字に置き換えます。

参照連動項目の入力フィルタ

参照連動項目にもフィルタが適用されます。 詳細は"他モデルの参照 > 参照連動 > 参照連動項目の入力フィルタ"をお読みください。

project_filter.xls を変更することで、標準のフィルタルールをカスタマイズすることができます。

図1 project_filter.xls

ダウンロード

ダウンロードしたファイルを解凍し、customize/resources フォルダに保存します。下記の仕様にあわせて、標準のフィルタルールを変更することができます。ビルドを行うと、カスタマイズしたフィルタルールが適用されます。

project_filter.xls 仕様

  • 新しいフィルタを定義することはできません。既存のフィルタ(「フィルタ名」に含まれるもの)の適用ルールを変更することができます。
  • 各数値は、適用の順番を意味します。この数値を変えることで、ルールが変わります。
  • 数値を消去すると、当該フィルタルールは使われなくなります。このとき、数字の並びが順序よく整列されるようにしてください。
Wagby R6 で提供していた project_filter.xls と同じものです。R6 で利用していたファイルをそのまま使うことができます。
Wagby Developer Day 2017