2016-09-20 8 views
0

モデルで変更されたプロパティを検証するだけですが、残念ながら流暢な検証では、デフォルトでValidator.Validate(instanceToValidate)を呼び出すときにルールを持つすべてのプロパティが検証されます。FluentValidation:変更されたプロパティのみを確認する

私は検証したいプロパティーだけを含むようにPropertyChainを設定しようとしましたが、新しいValidationContextを構築します - それでもすべてのルールを検証します。

流暢な検証を使用してこれを達成する方法はありますか?

おかげ

+0

FluentAssertionsではなく、FluentValidationについて話していますか? –

+0

はい、それを指摘してくれてありがとう! – antinutrino

答えて

1

ので、修正は

var rule = _validator.CreateDescriptor(); 
var rules = rule.GetRulesForMember(e.PropertyName); 
_validationResult = new ValidationResult(rules.SelectMany(x => x.Validate(new ValidationContext(_target))).ToList()); 

が変更されたプロパティのためのルール(複数可)を見つけ、そのルールセットに対するターゲットオブジェクトを検証する非常に簡単です。

関連する問題