0
我想只驗證已在我的模型上更改的屬性,但不幸的是,在默認情況下,流暢的驗證似乎驗證調用Validator.Validate時的每個屬性(instanceToValidate)FluentValidation:只驗證已更改的屬性
我試着設置PropertyChain只包含我想驗證的屬性並構造一個新的ValidationContext - 它仍然驗證所有的規則。
有沒有辦法使用流利驗證來實現這一點?
感謝
我想只驗證已在我的模型上更改的屬性,但不幸的是,在默認情況下,流暢的驗證似乎驗證調用Validator.Validate時的每個屬性(instanceToValidate)FluentValidation:只驗證已更改的屬性
我試着設置PropertyChain只包含我想驗證的屬性並構造一個新的ValidationContext - 它仍然驗證所有的規則。
有沒有辦法使用流利驗證來實現這一點?
感謝
所以解決方法是相當簡單
var rule = _validator.CreateDescriptor();
var rules = rule.GetRulesForMember(e.PropertyName);
_validationResult = new ValidationResult(rules.SelectMany(x => x.Validate(new ValidationContext(_target))).ToList());
查找已更改屬性的規則(S)和驗證針對規則集的目標對象。
你說的是FluentValidation,而不是FluentAssertions,不是嗎? –
是的,謝謝你指出! – antinutrino