FluentValidation:仅验证已更改的属性

本文关键字:属性 验证 FluentValidation | 更新日期: 2023-09-27 18:07:44

我只想验证模型上已经更改的属性,不幸的是,默认情况下流畅的验证似乎在调用Validator.Validate(instanceToValidate)

时验证每个具有规则的属性。

我试过设置PropertyChain只包括我想要验证的属性,并构造一个新的ValidationContext -它仍然验证所有的规则。

是否有一种方法来实现这使用流畅验证?

谢谢

FluentValidation:仅验证已更改的属性

所以修复非常简单

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

查找已更改属性的规则,并根据该规则集验证目标对象。