我正在尝试使用 FluentValidation 来验证属性“用户名”是否另一个属性“找到”为 true。
Object Contains:
string Username
bool Found
RuleFor(x => x.Username)
.NotEmpty().DependentRules(() => {
RuleFor(y => y.Found).Equals(true); //Not valid syntax
})
.WithMessage("Not Found");
Run Code Online (Sandbox Code Playgroud)
不幸的是,似乎没有简单的方法可以做到这一点?
使用该When子句。
RuleFor(x => x.Username).NotEmpty().When(x => x.Found);
Run Code Online (Sandbox Code Playgroud)
依赖规则有点不同;基本上,仅当附加到的规则通过时,才会测试依赖规则块中指定的规则。
根据doco
RuleFor(x => x.Surname).NotNull().DependentRules(() => {
RuleFor(x => x.Forename).NotNull();
});
Run Code Online (Sandbox Code Playgroud)
这里,只有当姓氏规则通过时,才会运行针对名字的规则。
| 归档时间: |
|
| 查看次数: |
2784 次 |
| 最近记录: |