問題タブ [validationrules]
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# - C# WPF バインディング、ValidationRule、およびデフォルト値
私は WPF と C# を初めて使用し、アプリケーションに問題があります。テキストを検証するために ValidationRule を設定したい TextBox があります。TextBox にデフォルト値を設定したいのですが、その方法がわかりません。私は多くの方法を試しましたが、問題をグーグルで調べたときに見つけたヒントはまったく機能していないようです。
また、ProjectData クラス ファイルを使用せずにこれを行う方法はありますか? 私には、検証を達成できるようにするために、値が1つだけのクラスを作成する必要があるのは奇妙に思えます。
私の ValidationRule は次のようになります。
私の TextBox は次のようになります。
マイ リソースは次のようになります。
私の ProjectData ファイルは次のようになります。
wpf - WPF検証-ValidatesOnTargetUpdated
WPFアプリにいくつかの検証を設定したテキストボックスがいくつかあります。
ロード時に、アプリはWPFウィンドウのコントロールがバインドされているクラスを逆シリアル化します。
たとえば、ファイルが存在することをテストするValidationRuleがあります。ValidatesOnTargetUpdatedを設定しない場合、(バインドされた)テキストプロパティを変更すると、対応するTextBoxが検証され、(デフォルトの)赤い境界線が表示され、ツールチップ({Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors).CurrentItem.ErrorContent}
)にエラーメッセージが表示されます。
コントロールがpropertychangedではなくバインディングで検証するようにしたいので、ValidatesOnTargetUpdatedをtrueに設定し、デバッグ時にvalidationRuleが起動することを確認できます。
ValidatesOnTargetUpdated="True"
私の問題は、ValidationRuleが起動しているにもかかわらず、(デフォルトの)ValidationTemplateが無視されることです。
ツールチップが表示されます。正しいエラーメッセージが表示されますが、境界線が赤で表示されません。これは無視されているようです。
なぜこれが起こるのか、何か考えはありますか?
wpf - バインディングなしの ValidationRules
テキストボックスに実際に何もバインドせずに、テキストボックスで ValidationRules (およびその UI 効果) を使用したいと考えています。
何にもバインドされていないが、ValidationRules を使用してフォーカスが失われた後に入力を検証する必要がある入力にテキストボックスを使用したいと考えています。
それはできますか?
wpf - テキストボックスに関するwpf検証ルールの問題
ValidationRule を継承するクラス IntegersValidationRule を作成しました。XAML でどのようなコードを記述すればよいかわかりません。それが私が持っているものです:
多くのチュートリアルで Path in Binding プロパティの意味を理解できないほど愚かであること、バインディングが必要ないのになぜここで Binding を使用する必要があるのか、Binding 内の「何」という単語の代わりに何を使用する必要があるのかを知っています。検証規則。
wpf - コントロール テンプレート内の ValidationRules
テキストボックスから継承するコントロールがあります
これにはスタイルがあります
セッターの1人は
テンプレート内の何かに設定できるようにしたいBinding.ValidationRules
ので、このタイプのテキストボックスのすべてのインスタンスに影響します。したがって、時間、日付、数値、郵便番号などのテキストボックスを作成できます。
テキストボックスを作成するたびに検証ルールを設定する必要はありません。私NumericTextBox
は、テンプレートに設定されている方法で検証したいと言いたいだけです。
これは可能ですか?
これまでに見たのは、コントロールの各インスタンスに設定されている ValidationRules だけです。
java - ルールに基づいてWebアプリケーションワークフローに制約を実装する方法
Webアプリケーションで次の問題が発生します。アプリケーションで注文を作成するためのワークフローがあります:
顧客に関する情報の入力(1つのWebフォーム)
デバイスに関する情報の入力(別のWebフォーム)
次のステップに進むための各フォームのいくつかの制約:
顧客には、指定する必要のある一連の属性(名、姓、通り、電話番号)があります。
顧客がSMSによる通知を希望する場合は、有効な携帯電話番号を紹介する必要があります
デバイス(支払いタイプ(カード/現金/小切手)がdyを取得したデバイスの場合、注文を作成するために顧客が受け入れる一定の金額があります
現在、これらの制約はアプリケーションのソースコードに直接実装されており、これによりアプリケーションの保守が困難になっています(一部のルールはアプリケーションのバージョンから次のバージョンに変更されます)。
注文を作成するときにコードからこれらのチェックを外部化するための良いアプローチは何でしょうか?
Droolsのようなルールエンジンは良い解決策かもしれませんが、検証ルールを定義するビジュアルエディターを介してサイトの管理者に可能性を提供したいと思います。誰かが私にこの状況のためにすでに存在する解決策を勧めることができますか?
jquery - jqueryvalidate-どのルールが満たされていないかを確認します
いくつかのフィールドがあり、jQuery検証プラグインを使用しているフォームがあります。私の入力にはいくつかのルールがあります。
私が知りたいのは、これらのルールのどれが満たされていないか(または特定のルールが有効かどうか)を確認する方法です。他の人がいっぱいになるまでリモート検証はajaxリクエストを起動しないため、これが可能であることは知っていますが、jquery.validate.jsでそれがどのように行われるかを見つけることができません。
wpf - ValidationRules を 1 行の xaml 行に追加するか、ValidationRules を簡略化します。
バインドできるように依存関係プロパティを公開する PasswordBox を使用しています。問題は、このように使用すると、Binding.ValidationRules を次の構文に省略できないことです。
ValidationRules を次のようなテキスト ボックスに設定します。
ValidationRules コレクションを単一の xaml 行で PasswordBox に指定する方法はありますか? または、パスワード ボックスへのユーザー入力を検証するための別の賢い解決策があるでしょうか?
いくつかの説明:
私は MVVM を使用していますが、分離コードを使用したくありません。
ValidationRule を 1 つだけ追加したい。おそらく、Binding.ValidationRules の簡略化の問題は、このプロパティがコレクションであることです。私の状況では、1 つの検証ルールで十分です。
ここにスタックオーバーフローに関する同様の質問があります。読みやすさを向上させるだけでなく、実際に PasswordBox を検証したいので、私の問題は異なります。
wpf - 異なるレベルの複数のフィールド間の検証
複数のフィールド間の検証に問題があります。たとえば、というRangeDateViewModel
名前のクラスの2つのインスタンスを含むという名前のViewModelがありますDateViewModel
。これらは、それぞれ開始日と終了日を表します。
したがって、私のバインディングは次のようになります。
私RangeDateViewModel
のクラスはIDataErrorInfo
インターフェースを実装しています。私の計画では、次のような関数RangeDateViewModel
で検証ロジックを適用することにより、開始日が終了日より前であることを検証します。IDataErrorInfo["propertyName"]
問題は、これが呼び出されることはなく、代わりに各クラスにIDataErrorInfo
存在するプロパティが呼び出されることです。DateViewModel
RangeDateViewModel
これは、バインドされたプロパティが同じレベルではなく、子の内部にあるためだと思いますDateViewModel
。
私のニーズは非常に基本的であり、この問題の簡単な解決策がなければならないと思います。
代わりにValidationRulesを使用しようとしIDataErrorInfo
ましたが、ValidationRulesから現在の検証ステータスをViewModelに通知する際に問題が発生しました。