# 共通ドキュメント

## Filter

### 概要

ユーザーの入力した内容を出来るだけエラーとしないようにするために期待する形式に近づけるために使用する。

#### 使用する局面

- 入力内容をアルファベット大文字＋数字に変換する
- 長すぎる入力を削る
- 空白、タブ文字他の不要文字を削除する
- 数値入力の場合に数字、小数点、符号以外の文字を削除する
- etc...

### クラス定義

基本クラス CFW.Forms.Filters.Filter

#### サブクラス

CFW.Forms.Filters.DateTimeFilter
  日付型フィルター
CFW.Forms.Filters.StringFilter
  文字列フィルター
CFW.Forms.Filters.NumberFilter<>
  数値フィルター
CFW.Forms.Filters.DefaultFilter
  何もしないフィルター(入力値をそのまま返す)

### 文字列フィルター

不要文字削除、桁超過文字削除、大文字化、小文字化他

#### 種類

- 左側空白削除
- 右側空白削除
- 空白を全て削除
- 空白(全角)を全て削除
- タブ文字を削除
- タブ文字を空白に変換
- 半角に変換
- 英大文字に変換
- 英小文字に変換
- アルファベット以外を削除
- 数字以外を削除
- アルファベットと数字以外を削除
- 数値を表す文字列に変換

上記を組み合わせて使う

半角に変換 + アルファベットと数字以外を削除 + 空白を全て削除 など

#### 他のオプション

- 長さ
- 長さを超えた時に超過文字列を削除するか

### 日付フィルター

入力フォーマットに基づき期待される日付型データを得る

#### オプション

- 入力フォーマット(yyyy/MM/dd,yyyyMMddなど)
- 日付型に変換できない時nullにするか

### 数値フィルター

入力値を数値に変換する

#### オプション

- 長さ
- 小数点精度
- 長さをはみ出した時に桁を削るか
- 変換できない時zeroにするか

### 使用方法

適切な型のフィルターオブジェクトを生成し入力値を変換する

#### 例 - short?型データに対する入力

    InputFilter filter = new NumberFilter(5,0);
    				short? value = filter.FilterValue("12345.67");
    				//結果 value == 12345;

###

$Revision: 626 $