MicrosoftはASP.NET MVC 2の新しいプレビュー版を公開した。新しいプレビュー版にはもとのプレビュー版の機能に、クライアントサイド検証、エリア機能の合理化、DataAnnotationの検証とメタデータプロバイダの抽象化が加えられた。
ASP.NET MVC 2 には、モデルの検証メタデータに基づいてクライアントサイドで入力検証を実現するjQuery入力検証ライブラリが含まれる。さらに新しいプレビュー版には、"クライアントサイドの入力検証ライブラリを使ってJSONメタデータに対するアダプタを書くことで、xVal validation frameworkと似た方法で入力検証が実現できるライブラリを使うこと"も可能だ。
最初のプレビュー版に含まれた重要な特徴はエリアという概念だ。エリアを使えば大きなWebアプリケーションを複数のプロジェクトに分割できる。新しいプレビュー版ではこの概念をさらに改善し、単一のプロジェクトにもエリアを使えるようになるので、組織的な利益を多く提供することができる。
さらに、新しいプレビュー版ではモデル検証プロバイダとメタデータプロバイダが加えられた。これらのプロバイダが提供するのは、モデルへの値の設定の検証ロジックや、モデルのメタデータの設定の新しいやり方だ。デフォルトでは、これらのプロバイダはデータアノテーションを利用する。データアノテーションとは最初のプレビュー版から含まれている、検証とメタデータを扱う機構だ。
MVCチームのシニアプログラムマネージャのPhil Haack氏によると、
... 最初のプレビュー版では多くの機能をデータアノテーション属性へ直接盛り込むことがテーマでした。このことに気付いた方もいると思います。今回のプレビュー版ではデータアノテーションの使い方を抽象化しています。こうすることで、カスタムで実装した検証プロバイダやメタデータプロバイダを使うことができます。
こうすることで、例えばデフォルトの検証方法をEnterprise Library Validation Blockと取り替えることもできます。さらに、モデルのメタデータを属性ではないところへ実装するのも簡単になります。
ASP.NET MVC 2 の新しいプレビュー版はMVC 1と共存してインストールできるが、MVC 2 の最初のプレビュー版はアンインストールしなければならない。VS 2008では、他とは異なるプロジェクトタイプとして登録される。VS 2010で試すには、VSのベータ2を待たなければならない。ベータ2にはMVC バージョン2が含まれているはずだ。