我想只验证模型上已更改的属性,不幸的是,默认情况下,流畅的验证似乎在调用Validator.Validate(instanceToValidate)时验证具有规则的每个属性
我已尝试将PropertyChain设置为仅包含我要验证的属性并构建新的ValidationContext - 它仍然验证所有规则。
有没有办法使用流畅的验证来实现这一目标?
由于
答案 0 :(得分:1)
所以修复非常简单
var rule = _validator.CreateDescriptor();
var rules = rule.GetRulesForMember(e.PropertyName);
_validationResult = new ValidationResult(rules.SelectMany(x => x.Validate(new ValidationContext(_target))).ToList());
查找已更改的属性的规则,并根据该规则集验证目标对象。