タグ

2010年6月30日のブックマーク (4件)

  • テッテの開発日誌: WPF, WCF, Entity Framework でアプリケーション作成 (その14)

    名前:テッテ(ハンドル) 職業:システムエンジニア 居住地:石川県 仕事では Java を使うことが多いのですが、趣味では C# を主に使ってプログラミングしています。WPF, WCF, Entity Framework など、新しい技術を勉強中です。 前回に引き続き、音楽管理ソフトの作成シリーズです。 前回までで、データの読み込み、編集、更新といった一通りの機能は実現できていますが、検証ロジックを書いていないので、不正な値を入れるとシステムエラーになってしまいます。今日は入力の検証機能を実装します。 WPFでの検証 WPF での検証は、バインド時に行われます。以下のMSDNの資料が参考になります。 データ バインディングの概要 検証のルール(ValidationRule)は自分で実装することもできるようですが、最初から用意されているのは、以下の2種類になります。 ExceptionV

    noazoh
    noazoh 2010/06/30
    IDataErrorInfo,検証ロジックの組み込みかた
  • ASP.NET MVC RCでIDataErrorInfoの使い方

    ソース出てきたので早速IDataErrorInfoのチェック。 普通にソース見れるって幸せだね。 まずはIDataErrorInfoをどこで使ってるのか検索。 そしたらDefaultModelBinderでしか使ってないのが判明。 しかもDefaultModelBinderでは、OnModelUpdatedとOnPropertyValidatedの2箇所だけ。 なるほど。モデル全体の更新完了タイミングと、個々のプロパティ検証時に実行されるわけね。 こういう設計にしたいからModelBinderが大きく変わったんだね。 WPF的な? IDataErrorInfoだとErrorプロパティとItem(this[string columnName])を実装するんだけど、その中に検証コードを書いてしまうと。んで、入力検証処理はココに集約しましょうと。 ってことは、アレだね、結局DataAnnotat

    ASP.NET MVC RCでIDataErrorInfoの使い方
  • 入力データ検証 その5 DataErrorValidationRule - Yamakiの日記

    一番初めのその1ではExceptionValidationRuleというValidationRuleを使用しました。これはバインドしているソースオブジェクトから例外がスローされた場合に検証不合格とするルールでした。これ以外に既定で用意されているValidationRuleとして今回はDataErrorValidationRuleをご紹介します。なお、DataErrorValidationRuleクラスは.NET Framework 3.5 SP1、および3.0 SP1から追加されたものです。 DataErrorValidationRuleはソースオブジェクトのIDataErrorInfoインターフェイス実装により発生するエラーをチェックするValidationRuleです。IDataErrorInfoインターフェイスは.NET Framework 1.0の頃から存在しており、Windows

    入力データ検証 その5 DataErrorValidationRule - Yamakiの日記
  • 実践的なパターン: テストの容易性を高める設計

    Code download available at:AdvancedWPFDatabinding2008_07.exe(171 KB) Contents Binding in Code Working with Templates Working with an Inherited DataContext Working with Collection Views Working with Hierarchical Data Using Many Controls to Display XML Data Using Many Controls to Display Business Objects One Control to Display an Entire Hierarchy Using Hierarchical Data Templates Working with User I

    実践的なパターン: テストの容易性を高める設計
    noazoh
    noazoh 2010/06/30
    データバインド、および、IDataErrorInfoインターフェイスについて