問題タブ [fluentvalidation]

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 投票する
1 に答える
569 参照

c# - ASP.NETMVCでの検証。FluentValidationModelProvider

記事http://www.thekip.nl/2011/09/22/using-fluentvalidation-for-both-domain-validation-and-validation-in-mvc-projects/に続いて、私にとってはまだどこにあるのかはっきりしていません検証はアプリケーションに表示されます:クライアント側でModelState.IsValid?または、コントローラー内で使用できますか?

編集

Ok。したがって、与えられた例では

ModelStateDinnerエンティティに対応しますか?

ありがとう!

0 投票する
3 に答える
5281 参照

c# - 子プロパティの選択的検証-MVCでの流暢な検証

Ninject.Web.Mvc.FluentValidationライブラリでFluentValidationを使用して、すべてのバリデーターを自動的に接続しています(依存性注入を使用してバリデーターを作成しています)。

次のモデルを作成しました。

次のバリデーターを使用します。

私の見解:

私が達成しようとしているのは、2つの子プロパティを持つ親モデルを作成することです。Child1のプロパティは必須ですが、Child2のプロパティはオプションです。これは通常の状況では正常に機能しますが、Ninjectモジュールを使用してバリデーターを自動的に接続すると、Childクラスのバリデータータイプがあることを検出し、ParentのすべてのChildプロパティを接続します。

Ninjectモジュールを削除せずにこれが発生するのを防ぐ方法はありますか?

0 投票する
4 に答える
4699 参照

c# - FluentValidation 検証ファクトリーと Ninject DI コンテナー

NinjectHttpApplicationプロジェクトで定義されたいくつかのモジュールを使用しています。

私が望むのは、 http://www.thekip.nl/2011/09/22/using-fluentvalidation-for-both-domain-validation-and-validation-in-mvc-projects/FluentValidationで説明されているように、検証ファクトリを作成することです。

具体的な検証ファクトリを作成するには、オーバーライドする必要があります

次に呼び出すメソッド

しかし、範囲外で IKernel を使用することGlobal.asaxは推奨されないことを読みました。

私が望むものを作るためのオプションは何ですか?

編集: Ninject-FluentValidation 拡張機能の使用

Remo が述べているように、拡張機能がありますGitHub( https://github.com/ninject/ninject.web.mvc.fluentvalidation )。拡張機能には次のクラスがあります。

コンストラクターを受け取りIKernel、インスタンスを作成しますIValidator

私のコードは次のようになります:

それはうまくいきます。しかし、それがより良く解決できるかどうかはわかりません。IKernelまた、上のパブリック プロパティとして公開する必要性がわかりませんNinjectValidationFactory

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

asp.net-mvc-3 - FluentValidation.TestHelper を使用して When() 条件で子バリデーターを単体テストする方法

FluentValidation.TestHelper 名前空間の拡張メソッド .ShouldHaveChildValidator() には、モデルを取るオーバーロードがありません。次に、次の例のように When() 句を使用するときに、子バリデータが正しく設定されていることをテストするにはどうすればよいですか?

例えば

SomeCheckbox が true の場合、子バリデーターが存在し、SomeCheckbox が false の場合、子バリデーターが存在しないことをアサートしたいと思います。

これまでのところ、単体テストで次のことを行っています。

しかし、それは .When() 条件を考慮していません。

.ShouldHaveValidationErrorFor() などの FluentValidation.TestHelper 名前空間の他のメソッドには、モデルを受け取るオーバーロードがあることに気付きました。そのため、前提条件を満たすモデルを設定することで、When() 句を使用して単純なプロパティ タイプを簡単にテストできます。

何か案は?

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

c# - mvcapiでのコントローラー入力の検証

APIを構築し、コントローラーアクションにパラメーターとして渡された入力オブジェクトを検証する必要があります。同じ入力クラスが、アクションごとに異なる強制プロパティを持つ場合があります。

それで

私はfluentValidation.netを見てきましたが、クラス/アクションではなく、クラスごとにルールを作成する必要があるようです。

ありがとう。

0 投票する
3 に答える
4163 参照

asp.net-mvc-3 - .SetValidator() を使用すると、FluentValidation.Net はクライアント側の目立たない検証を生成しません。

エディター テンプレートを使用するページでクライアント側の検証を機能させようとしています。

私のビューモデルの簡単な例は次のとおりです。

子モデルは次のとおりです。

私のバリデーターは次のとおりです。

子モデルのバリデーターは次のとおりです。

Application_Start() に以下を追加して、FluentValidation.Net を MVC3 に登録しました。

これにより、Name と Age の 2 つのプロパティに対して控えめなクライアント側の検証が完全に生成されますが、ChildModel のプロパティに対しては何も生成されません。

ここで私が間違っていることはありますか?

更新: ChildModel に Validator 属性で注釈を付ければ問題ないようですが、条件付きで検証を適用したいので、SetValidator() を使用します。

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

asp.net-mvc - 流暢な検証 (開始できません)

私の質問はhttp://fluentvalidation.codeplex.comライブラリに関するものです。このリンクから .dll をダウンロードし、プロジェクト ライブラリFluentValidation.Mvc.dllに含めます。

しかし、リシャーパーはバリアントを含むいくつかを提案しません。これは、間違ったライブラリを含めたか、他のライブラリを含めなかったことを意味します。他のライブラリを含める必要がある場合は、何が問題なのかを説明し、ダウンロードするためのリンクを教えてもらえますか?

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

asp.net-mvc-3 - 複数のモデルにバインドされたフォームを処理する方法

eコマース注文の詳細を編集するためのUI画面を構築しています。ビューのモデル (OrderModel) には必要なものがすべて含まれていますが (プロパティは ViewModel でもあります)、UI はそのすべてを一度に編集できるように設計されていません。

たとえば、UI の一部は顧客データ用で、別の部分は注文の詳細用、別の部分は追跡情報用で、それぞれに独自の [保存] ボタンがあります。

1 つの巨大なフォームを使用し、非表示のフォーム フィールドを使用して編集不可のフィールドに入力し、各 [保存] ボタンにすべてのデータを投稿させることができることに気付きましたが、それは悪臭を放ちます。

編集可能なチャンクを、強い型付けを維持しながら個別に投稿および検証される小さな ViewModel に分割したいのですが、MVC3 でこれを実現する方法がわかりません。プライマリ ビューから呼び出される部分ビューが必要ですか?

参考までに、Razor 構文とクライアント側 FluentValidation で ASP.NET MVC 3 を使用しています。

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

asp.net-mvc-3 - MVC3での条件付き検証

MVC3では、JQueryを使用したドロップドローンリストの値に応じて、フィールドの検証を追加または停止する方法がありますか?Fluent Validationを試しましたが、うまくいきませんでした。

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

asp.net-mvc - 変更後にDefaultModelBinderから継承したカスタムモデルバインダーでモデルを再検証するにはどうすればよいですか?

DefaultModelBinderから継承したカスタムモデルバインダーがあります。私がやりたいのは、DefaultModelBinderでは解決できないプロパティをモデルに設定することです。次のようになります。

ただし、IFooModelのBarプロパティをnullにすることはできず、FluentValidationを使用しているため、base.BindModelを呼び出した後、ModelStateは無効になります。

したがって、base.BindModelを呼び出すときにモデルを検証しないようにするか、少なくともエラーをクリアして、Barプロパティを設定した後でモデルを再検証したいと思います。

バリデーターを解決してモデルを検証しようとしましたが、実際に検証を実行することができないようで、エラーは発生しません(必要な場合でも)。

モデルを返す前にこれを実行した後、バリデーターにはFluentValidationModelValidatorが含まれていますが、validator.Validateを呼び出すと、エラーは発生しません。以前にbase.BindModelを実行したときにエラーが発生した別のプロパティがモデルにあるため、ここでも同じエラーが発生すると予想されます。