3

私が達成したいことは、単純な OR 条件として大まかに要約できます。

Fluent Validation (When/Unless) を使用した OTHER プロパティの条件付きプロパティ検証はサポートされていますが、同じプロパティで条件付きルールをサポートする方法はないようです。または、何か不足していますか?

基本的に私は達成したい:

RuleFor(x => x.Property).CanEitherValidateThisRule().Or.CanValidateThisRule();

これに代わる唯一の方法は、ルールを 1 つのカスタム ルールに結合することですか?
ただし、これはルール ロジックを緊密に結び付けており、現実的には、他のオブジェクト/フィールドで使用したい完全に別個の条件です。

FluentValidation.NET の将来のバージョンでこれをサポートするという提案がありました。拡張メソッドを使用してこれを達成する方法を知っている人はいますか?

EDIT : ディスカッションを見つけました: Fluent Validation for .NET - View Discussion

4

1 に答える 1

0

同じプロパティのバリデーターの連鎖を試すことができ ます。これはやりたいことを行うには汚い方法ですが、コードの小さな部分の検証を行う場合には、それでも価値があります。

よりクリーンな方法が必要な場合は、現時点では、カスタム バリデータ クラスを作成するのが最も便利なオプションだと思います。

私がリンクした wiki ページには、最初に必要なすべてのツールが含まれています。

于 2012-11-04T16:45:00.013 に答える