問題タブ [idataerrorinfo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 複合型の IDataErrorInfo
次のように単純に定義された Address オブジェクトがあります。
かなり単純です。私が尋ねた別の質問へのアドバイスとして、UI を Person 型のオブジェクト (Address MailingAddress フィールドを含む) にデータバインドするときに、このブログ投稿を参照しています。
問題は、IDataError インターフェイス メソッドが Address 型のプロパティを検証していないことです。
だから、明らかに私は columnName がどうなるか分かりません...私はそれを一歩踏み出しましたが、それは(組み込み型の)パブリックプロパティ以外のものではありませんでした。次のようなステートメントを実行して中断しようとしました。
すべて役に立たない。
足りないものはありますか?
asp.net-mvc - asp.net mvc で IDataErrorInfo を使用する
asp.net サイトで説明されているように、IDataErrorInfo インターフェイスを使用しようとしている単純な住所入力アプリがあります。
独立して検証できるアイテムには最適ですが、一部のアイテムが他のアイテムに依存している場合はうまく機能しません。たとえば、郵便番号の検証は国によって異なります。
そのため、国が設定された後にのみ郵便番号を検証できますが、その順序を制御する方法はないようです.
IDataErrorInfo のエラー文字列を使用できますが、フィールドの横にある Html.ValidationMessage には表示されません。
wpf - WPFでのデータ検証のトリガー
WPFで検証に問題があります。
データモデルにバインドしているテキストボックスがほとんどないユーザーコントロールがあります。
検証はIDataErrorInfoで実装されます。
ユーザーが[データの送信]ボタンを押したときにのみ検証がトリガーされるようにしたいので、UpdateSourceTrigger="Explicit"
これらすべてのテキストボックスのバインドで使用しました。
すべてが正常に機能し、ユーザーがボタンを押したときにのみ検証がトリガーされ、データソースが更新されます。
ただし、そのユーザーコントロールは非表示または表示できます。表示を表示/から非表示に変更してから表示に戻すと、検証がトリガーされます。
その段階で検証を制御する方法はありますか?
asp.net-mvc - MVC 2でのモデル検証中にIDataErrorInfoは無視されますか?
現在、プロジェクトをMVC 2に移行しましたが、デフォルトのモデルバインディングと検証を使用すると、IDataErrorInfoが機能しないようです。切り抜かれていますか?
asp.net-mvc - アドレスフィールドのカスタムASP.NETMVC検証の概要
1ページのチェックアウトを検証するための最良の方法を見つけようとしています。を含む :
- 船の住所
- 請求先住所
- 等
明らかなアドレスクラスには、、、、、、、、などが含まFirst Name
れます。Last Name
Street1
Street2
City
State
Zip
Phone
ユーザーが何かを入力する前に[OK]をクリックすると、1ダース以上の検証エラーが発生し、見苦しい赤いテキストの大きなブロックが表示されます。
アドレスを単一のエンティティとして検証し、「不完全なアドレス」などのインテリジェントなエラー、または適切な場合はより具体的なエラーを表示したいと思います。しかし、それでも問題のある個々のフィールドを強調できるようにしたいと思います。Html.ValidationSummary
明らかにヘルパーがすべてのフィールドを表示するので、これを行う簡単な方法を今は見ることができません。
だから私は要約を次のように表示したいと思います:
赤Zip
とでハイライトしCity
ます。
完全にカスタムのValidationSummaryを実行する必要があり、完全にカスタムのデータ構造を実行する必要があると思います。
検証フレームワークを使用すると、このような要約を簡単に実行できます。要約には、個々のフィールドエラーだけでなく、インテリジェントな要約が表示されます。
編集:MVC2RCはモデルレベルのエラーをサポートするようになりました。
ValidationSummaryは、モデルレベルのエラーのみが表示されるオーバーロードをサポートするようになりました。これは、各フォームフィールドの横に検証メッセージをインラインで表示する場合に役立ちます。以前は、これらのメッセージは検証の概要に複製されていました。これらの新しい変更により、要約に全体的な検証メッセージ(「フォームの送信にエラーがありました」など)と、特定のフィールドに適用されない検証メッセージのリストを表示させることができます。
誰かがこれを行う方法の実際のサンプルを手に入れましたか?
wpf - WPF IDataErrorInfo 複数フィールドの検証
複数のフィールド検証を IDataErrorInfo と統合する良い方法は何ですか?
ftp 情報用の 3 つのテキストボックスを含むダイアログがあるとします。
- URL
- ユーザー名
- パスワード
フィールドに Required 属性を設定しました (パスワードには通常の TextBox を想定しています)。
ユーザーが「OK」を押したときに ftp 接続を検証します。現時点ではダイアログを表示していますが、ftp 接続エラーで Validation error スタイルをトリガーできればいいと思います。
Validation.MarkInvalid を見てきましたが、使い方がわかりません。
c# - 複数のプロパティに影響する PropertyChanged
次のように、値が互いに依存する変数がいくつかある状況があります。
A は B と C の関数 B は A と C の関数 C は A と B の関数
どちらの値も UI で変更できます。私は次のように計算と変更通知を行っています:
変更された変数のセッターで計算メソッドを呼び出し、_valB、_valC (たとえば) の値を計算してから、これらの値に対して PropertyChanged を呼び出しています。変数間の依存関係のために、私はこのようにしています。このように、どの変数が正しい値で計算されるかを制御できます。また、他の変数の PropertyChanged をトリガーし、変数のゲッターで計算を実行することも考えましたが、以前にどのプロパティが変更されたかを知り、その値を使用する必要があります...それが最善/最も簡単な解決策かどうかはわかりません。
これはこれを行う良い方法ですか?セッターブロックでこれを実行するという考えは好きではありませんが、現時点ではそれを行うためのより良い方法がわかりません。
もう 1 つの問題は、IdataErrorInfo を使用して検証/エラー情報を UI に表示することです。問題は、this[columnName] インデクサーがセッターの最後に呼び出され、計算の前に値を検証する必要があったため、値が入力は有効ではありません計算は行われません.IDataErrorInfoを放棄し、計算が行われる前に検証メソッドを呼び出すことを真剣に検討しています. それを明示的に呼び出す方法、または値の属性の直後に呼び出す方法はありますか?
注: ViewModel から別のオブジェクトで検証ロジックを呼び出す必要があるため、ValidationRules はオプションではありません。
c# - 複数の BO プロパティに対して IDataErrorInfo エラー プロパティを定義する方法
IDataErrorInfo インターフェイスを介して、WPF プロジェクトに検証を実装し始めています。私のビジネス オブジェクトには、検証情報を含む複数のプロパティが含まれています。オブジェクトに関連付けられたすべてのエラー メッセージのリストを取得するにはどうすればよいですか。それが Error プロパティの目的だと思いますが、これを使用して複数のプロパティを報告する人を追跡することはできません。
ありがとう!
c# - XamlからIDataErrorInfoバリデーターにプロパティを設定する方法
WPFでIDataErrorInfoを使用する場合、パラメーターをバリデーターに渡す方法があります。たとえば、DueDateDatepickerがあります。新しいタスクを検証するときは、許可される日付を今日以降に制限したいのですが、編集するときは、期限が過ぎたタスクを編集できるため、今日より前のDueDatesを許可する必要があります。
XamlのMyDatePicker(.Net 4.0)
私のIErrorDataInfo