【发布时间】:2021-11-29 14:45:07
【问题描述】:
我正在尝试在相关属性为“单”或“混合”时验证类型,但在其“双”时不验证
RuleFor(session => session.SinglesMatchCount)
.GreaterThan(0)
.When(session => session.SessionMatchTypeId == SessionMatchTypes.Singles
or session => session.SessionMatchTypeId == SessionMatchTypes.Mixed);
这不起作用。任何想法什么是正确的语法?
【问题讨论】:
-
用
||替换or session =>? -
你的目标是模式匹配,比如
session.SessionMatchTypeId is SessionMatchTypes.Singles or SessionMatchTypes.Mixed? -
@CaiusJard 是的,最好的方法是什么?
-
@CaiusJard 有没有办法把它抽象成一个方法?有 20 多个属性将进行此验证。
-
试试
public bool IsSessionSinglesOrMixed(SessionType session) { return session.SessionMatchTypeId == SessionMatchTypes.Singles || session.SessionMatchTypeId == SessionMatchTypes.Mixed; },然后在你的规则中:.When (session => IsSessionSinglesOrMixed(session))
标签: c# fluentvalidation