問題タブ [validation-application-bl]
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.
.net - Enterprise Library 5.0、抽象基本クラスでの検証
私のビジネス レイヤーは、IDataErrorInfo を実装する DomainObject という抽象基本クラスを使用して、WPF の検証バインディングを提供します。基本クラスに実装されている「エラー」プロパティを呼び出すと、エラーは検出されません (私のテストでは 2 つの検証エラーが生成されます)。派生クラスのプロパティをオーバーライドすると、すべてが期待どおりに動作し、検証エラーが見つかります。私の推測では、「ValidateFromAttributes」メソッドのリフレクションに問題があります...?
私のサンプルは 2 つのエラーを返すはずです。
これは私のコードです:
これはユニットテストです:
.net - ビジネス オブジェクトの検証を実行します。含まれているオブジェクトはどうですか?
Enterprise Library を初めて使用します。タイプ のビジネス オブジェクトを検証しようとしていJuvenileClientContactItem
ます。
オブジェクト自体にはオブジェクトが含まれています。この場合は、タイプJuvenileClientContactItem
のオブジェクトの 2 つのインスタンスです。AddressType
を検証するために次の呼び出しを実行すると、JuvenileClientContactItem
含まれているすべてのオブジェクトも検証され、オブジェクトで発生したエラーがコレクションにPersonType
追加されると予想していましたが、オブジェクトの検証のみが実行されました。ValidationResults
JuvenileClientContactItem
Enterprise Library Validate 関数のシグネチャは次のとおりです。
Address
オブジェクト内の 2 つのサブオブジェクトを検証するには、メソッドJuvenileClientContactItem
を個別に呼び出す必要があります。次に例を示します。Validate
リフレクションを使用して検証用に渡されたオブジェクトを調べ、自己検証をサポートし、呼び出しを実行し、すべての検証の結果を 1 つの返されたコレクションに集約する、含まれているオブジェクトを探す独自の汎用検証メソッドを作成したいと思います。より良いアプローチはありますか?
編集:
以下の提案に従って、次のコードを追加しました。
...そして、属性がこの宣言タイプで有効でないため、ObjectValidatorAttribute を適用できないというエラーが発生しました。
なんで?どうすれば修正できますか?
asp.net-mvc - MVC UpdateModelはエンタープライズライブラリVABを使用できますか?
...または、MVCでEnterprise Library 5 VABを使用する最もクリーンな方法は何ですか?
私は現在、次のフォームを使用しています。
VABで装飾されたクラスはupdatemodelによって自動的に検証できますか、それともバリデーターを手動で取得して、その呼び出し後に検証できますか?それとももっと良い方法がありますか?
dependency-injection - カスタム VAB バリデーターに値を挿入する
モデル オブジェクトを既存の winforms アプリと共有する mvc webapp を構築しています。それにVAB検証を導入しています。検証する必要がある項目の 1 つは、x レベルの 1 つである int です。
LevelValidator を作成しましたが、アクセス可能なレベルが必要です。
このコードの新しい呼び出しに関しては、 Levels の代わりに LevelValidator を注入する必要があるようです。他の方法?
.net - Enterprise Library4.0ValidationProvider自己検証の質問
初めてValidationproviderコントロールを使用しています。Ent Libのインストールに付属するValidationQuickStartソリューションの例で見た機能を模倣しようとして、成功は限られていました。
BOプロパティを次のような検証属性で装飾するビジネスオブジェクト検証に基づいて、フォームエラープロバイダーアイコンを表示することはできましたが、
ただし、「SelfValidation」メソッドに編集を追加したい場合、結果をフォームコントロールに関連付けるにはどうすればよいですか?
または、独自の** CUSTOM VALIDATORを作成する必要がありますか? "そしてそのタイプを使用してビジネスオブジェクトプロパティを装飾しますか?
編集:
ValidationProviderコントロールが、次のようなクロスコントロール検証を目的としていない場合:
ユーザーがビジネスオプションプロパティCustomer.DoYouSmokeCrackAsBooleanに対応するラジオボタングループで[はい]オプションを選択した場合、このフィールドが条件付きで必須であることを示すErrorProviderアイコンでtxtHowMuchコントロールにフラグを立てる必要があります。
現在これを行っている方法は、Self Validationブロックでこれを行うことです。コレクションにValidationResultオブジェクトを追加するときに、Keyプロパティを "Explanation"に設定して、GUIが問題のある画面に手動でマップできるようにします。コントロール。
これを行うためのより標準的な/より良い方法はありますか?
c# - 空も受け入れる属性を使用してパスワードの長さを検証しますか?
パスワードが入力されている場合、編集時にパスワードの長さを検証したいと思います。それ以外の場合は、空でも問題ないと見なされます。
編集モデルでパスワードの属性をスキップし、コードで検証を行うという提案を見てきましたが、すべての検証に属性を使用したいと考えています。
ライブラリにはすでにこのようなものがあるはずです。私は単にそれを逃したのですか?
AspNet 3.5 で EntLib 5 VAB と MVC 2 を使用しています。
バニラ編集モデル:
c# - VAB構成ファイルのアセンブリと名前空間を検証します
検証アプリケーションブロックのバージョン4.1を使用しています。私は比較的新しいので、構成された名前空間とアセンブリを抽象化する機能があるのか、それともそれらの存在を適切に検証する機能があるのか疑問に思いました。
最近、誰かがクラスを移動し、検証構成ファイルを新しい名前空間で更新しなかったという問題が発生しました。その結果、検証はオブジェクトに適用されなくなりました。アプリケーションブロックは、不一致を無視しているようです。残念ながら、これは通常のQAサイクルでは検出されませんでした。将来、この種の変化から身を守るための組み込みの方法はありますか?暫定的に行ったことは、config xmlをロードし、すべてのアセンブリと定義された名前空間を抽出して、それらがすべて存在することを検証することです。
wcf - WCFサービスのFluent検証またはEntLib検証アプリケーションブロック
入力パラメーターの検証をWCFサービスのセットに追加する標準的な方法を探しています。
Fluent検証http://fluentvalidation.codeplex.com/とEntLib検証アプリケーションブロックを比較できる人はいますか?
それぞれの長所/短所は何ですか?
どちらかを使用する必要があるシナリオは何ですか?
私の質問は、.netプロジェクトにどの検証フレームワークをお勧めしますか?に似ています。選択する検証フレームワーク: SpringValidationまたはValidationApplication Block(Enterprise LIbrary 4.0)?、しかし、これらの質問への回答には詳細な比較がありません。
他の同様のテクノロジーが推奨されるかどうかを教えてください(理由を説明して)
誰かが両方のフレームワークの経験があり、プロジェクトにどちらかを選択しますか?決定の理由は何でしたか?
wcf - この障害の作成者は理由を指定しませんでした
WCF サービスのモデルに検証属性を設定しました
これが失敗すると、属性で指定したエラー メッセージではなく、タイトルに例外が表示されます。WCF の検証アプリケーション ブロックを使用しています。
メソッド定義は次のようになります。
誰かが私が間違っていることを教えてもらえますか?
ありがとう
asp.net-mvc - Validation Application Block - 検証メタデータ クラスの使用方法
VAB を使用していくつかのクラスを属性で検証しており、メタデータ クラスを使用して異なるクラス間で同じ検証を共有しています。コントローラーでオブジェクトを検証しようとすると (私は asp.net mvc を使用しています)、ValidationResults
エラーは発生せず、エンティティは有効ではありません。しかし、ASP.NET MVCModelState.IsValid
は false であるため、魔法のように機能します。問題は、手動検証のやり方にあると思います。
Global.asax では、クラスとメタデータ クラスの間の関連付けを読み込んでいます。
グローバル.ASAX
コントローラ
また
どんなアイデアでも大歓迎です。
ありがとうございます。