Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。MVCが少々苦手としている検証機能のサポートに便利なツールを紹介します。WebFormとの共存方法も併せて解説します。WebForm(以下、WebForm)で使用していたValidationコントロールが使えないため、検証周りがWebFormよりも苦手だったと言えます。MVCにおいて検証周りを検証コントロール並に強力に検証できるツールが登場しました。WebFormはアプリケーション構築方法が異なるため、それぞれ独立して扱うというイメージがあるかと思います。確かに構築するアプリケーションの仕様や設計によりそれぞれ独立して扱うべきですが、シナリオによっては「ルーティングだけ利用したい」「既存のWebFormで作成したアプリケーションの流用をしたい」などの要望も出てくるかもしれません。MVCとWebFormの共存方法について紹介します。第1回を参考に行ってください。』を参照してください。xValは、CodePlexからダウンロードできます。日本語パッチもCodePlexにあります。Validationは、bassistance.deからダウンロードできます。今回触れるのは、以下の部分です。MVCそのものについては過去の内容も併せて参照してください。MVCにおける検証は以前も紹介しましたが、サーバーに一度問い合わせる必要があり、お世辞にも優れているとは言いづらい機能でした。MVCで簡単に利用できる検証ツールxValが正式リリースされました。Sandersonさんです。サーバーで行われる検証を一元管理する機能を提供します。検証ルールは.NETが提供するDataAnnotation(詳しくは後述)の属性指定で行い、ここで指定された検証ルールをxValがJSON形式に変換し、クライアントサイドに渡すことで、クライアントサイドはそれに応じたスクリプトをjQueryValidationで書き出します(図1)。xValイメージ図また、多言語対応も行われているので、筆者が翻訳した日本語専用のパッチをダウンロードすることで、日本語環境でも容易に利用できるようになります。V2の新機能DataAnnotationModelBinderでもxValで培った知識をそのまま利用できます。xValを実際に使った例はこちらです。Validationを使いスクリプトを自動生成します。そのため、検証項目からフォーカスが変更された時点で検証メッセージが表示されます。DataAnnotationの属性指定を複数記述することで、複数の検証も同時に対応できます。Dataコントロールの検証を行うために利用されたクラスです。これまで検証ロジックは、コードベースでnullチェックや入力数を確認していましたが、DataAnnotationを利用すると属性宣言だけで、入力検証を簡単に設定できます。MVCでも応用できます。4.0や、Silverlightでも利用できます。これからの検証のスタンダードになる可能性が非常に高い注目のクラスです。以下に、利用可能な検証属性を紹介します。最大文字長を指定それでは使い方について解説します。事前準備xValを利用するに辺り準備がいくつか必要ですので、手順を以下に記します。必要な環境の項目で記述しているxVal/jQueryValidationをあらかじめダウンロードして準備を行ってください。以上で事前準備は完了です。NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Technologies。執筆コミュニティ「WINGSプロジェクト」代表。