ピースペース

DataForm@Silverlight3 と RIA Services と CustomValidation

leave a comment »

System.ComponentModel.DataAnnotationsとDataFormのコラボレーションは素晴らしい
全ての検証ルールをModel側で定義する
UI側でやることは、DataForm.CommitEditするだけ
入力内容をチェックしてエラーがあればUIにうまく表示してくれる

Entityクラスでの検証ルールの定義は
Property単位のチェックは、Propertyに属性として記述する
指定できる検証関係の属性はここに
http://msdn.microsoft.com/en-us/magazine/ee335695.aspx

Entity単位のチェックは、CustomValidatorクラスを作成してEntityの属性で関連づける
で、Model定義とSilverlightの間をRIA Servicesで経由する場合の例がこのあたりにある
http://msdn.microsoft.com/ja-jp/silverlight/dd775188.aspx
http://msdn.microsoft.com/ja-jp/magazine/dd695920.aspx

これらサンプルコードで
CustomValidatorクラスに[Shared]属性が必要だと書いてあるが
新しいバージョンのRIA Servicesには[Shared]属性はない
代わりに、作成するCustomValidatorクラスのファイル名を
ScheduleValidator.cs → ScheduleValidator.shared.cs
のように変更する
Client用に生成されるコードでもCustomValidationがちゃんと機能する
感じが良くて爽快になる

CustomValidator

Written by nasu38yen

2009年10月10日 @ 4:21 AM

カテゴリー: 未分類

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。