gpt4 book ai didi

c# - FluentValidation RuleForEach 未检测到错误?

转载 作者:太空宇宙 更新时间:2023-11-03 10:51:42 24 4
gpt4 key购买 nike

我在下面定义了一个规则,其中 PreferredAirlineCodes 是一个字符串 [] 类型

RuleForEach(x => x.PreferredAirlineCodes).Length(2);

但是当我运行以下测试时...

validator.ShouldHaveValidationErrorFor(x => x.PreferredAirlineCodes, new []{"CX", "3KK"});

测试失败...我是否错误地定义了规则?

最佳答案

您的规则定义良好。

但是 ShouldHaveValidationErrorFor 仅用于测试简单的情况:测试简单的属性验证规则。因此它不支持测试嵌套属性或数组(另请参见 issue)

因此您需要“手动”测试此验证规则:

var validator = new MyClassValidator();
var result = validator.Validate(
new MyClass() { PreferredAirlineCodes = new[] {"CX", "3KK"}});
Assert.IsTrue(
result.Errors.Any(e => e.PropertyName.StartsWith("PreferredAirlineCodes")));

关于c# - FluentValidation RuleForEach 未检测到错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21207713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com