問題タブ [validationrule]

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.

0 投票する
2 に答える
223 参照

vba - テキストの長さを決定するための VBA の検証規則

次の 2 種類の電話番号を記録するためのフォームがあります。

  • 内部は4文字
  • 外部には 4、7、または 8 文字あります

電話番号の種類を決めるコンボボックスに合わせてValidationRuleを変更したい。

フォームのプロパティで ValidationRule を使用しようとしましたが、数式では機能せずIIf、別のテキスト ボックスまたはコンボ ボックスの値によっては機能しません。

だから私はこのコードを作りましたが、うまくいきません:

前もって感謝します。

0 投票する
1 に答える
223 参照

c# - WPF の既存データに基づく検証

入力された値が既に存在する場合にエラーを返す検証ノードを作成する必要があります。名前を設定できる項目の GUI があります。名前を一意にする必要があります。

したがって、検証ごとに、次の 2 つのパラメーターが必要です。

  • すべてのアイテムのすべての名前のリスト、または名前が存在することを知らせる述語
  • 上記の検証から除外する現在のアイテム名 (名前を同じ値に変更してもエラーにはなりません)

データ コンテキストは次のようになります (説明のためのインターフェイスのみ)。

WPF のフィールドは次のようになり、その親は `{SelectedItem} にバインドされます。

バリデータは次のようになります。

少なくとも現在の名前をバリデーターにバインドしようとしました。テキスト ボックスは現在のアイテム データ コンテキストに既に存在するため、正しいバインドは次のようになります。

これによりエラーが発生することを除いて:

メンバーMyNameが認識されていないか、アクセスできません。

すべての項目のリストは Windows データ コンテキストにあり、 からアクセスできますItemNames。次のようにアクセスできると思います。

以下の回答を使用して正しいバインディングを試みましたが、エラーが発生しました。

タイプ の 'MyName' プロパティに 'Binding' を設定することはできませんMyProject_Validation_UniqueNameRule_9_468654。「Binding」は、DependencyObject の DependencyProperty でのみ設定できます。

バインディングはまったくサポートされていないようです。

では、検証ルールがこれらの変数の両方にアクセスできるようにするには、どうすればこれをまとめることができるでしょうか?