ASP.NET MVC において、自動的に全角→半角にしたり、 両端のスペースを取り除いてくれるようにしよう!という話です。 アプローチ プロパティ毎にモデルバインダーを切り替えるようにします。 また、モデルは、単純な型でなく、複合型を対象とします。 ざっと以下の通りです。 全角→半角にしたりするモデルバインダーを利用する。 補正したいプロパティに [SmartBind] という属性をつける。 [SmartBind] がついている場合だけ、指定したモデルバインダーでバインドされるようにする。 プロパティ毎にモデルバインダーを切り替える処理は、DefaultModelBinder を継承して作成。 理由 このアプローチをとった理由についてです。 (ちょっと長くて余計なことも書いてます。) 先述のようなことをしなくても String に対するモデルバインダーを作れば簡単なのですが、 そうすると