【发布时间】:2014-08-14 23:36:27
【问题描述】:
我正在尝试使用 FluentValidation 实现一个规则,其中两个属性相互依赖。他们是Unit 和UnitType。 Unit 是一个字符串,UnitType 是一个枚举。我想要规则,如果填写了Unit,那么UnitType 不能是None (0),如果UnitType 不是None (0),那么必须填写Unit。以下是我迄今为止尝试过的规则,但无济于事:
this.RuleFor(
p =>
p.Unit).NotEmpty().When(
l =>
(l.UnitType != UnitType.None)).WithMessage("Unit № must be filled out and must be less than 8 characters long when the Unit Type is selected");
this.RuleFor(
p =>
p.UnitType).NotEqual(UnitType.None).When(
l =>
!String.IsNullOrEmpty(l.Unit)).WithMessage("Unit Type must be selected when the Unit № is filled out");
无论我如何调整规则,我只是不断收到一条错误消息:'Unit Type' must not be empty.由于我的自定义错误消息没有显示,我在想以某种方式跳过了规则...
如果有任何关于如何解决此问题的建议,我将不胜感激。
【问题讨论】:
标签: c# asp.net-mvc fluentvalidation