Sah*_*rma 1 c# fluentvalidation
public bool IsDefault { get; set; }
RuleFor(stockImage => stockImage.IsDefault).NotNull();
我有这个规则,IsDefaultboolean属性不应该为null.问题是当客户端在命中api时没有传递此字段,IsDefault将默认布尔属性设置为false并且不提供任何错误,例如"此字段是必需的".
如何根据需要将此字段设为"true"或"false"作为其唯一有效输入?
我试过的一个解决方案就是:
RuleFor(stockImage => stockImage.IsDefault).NotEmpty();
这个问题是它在IsDefault"假" 时给出验证错误,这不是预期的用例.
ger*_*npa 10
你可以用这个:
RuleFor(stockImage => stockImage.IsDefault).Must(x => x == false || x == true)
Run Code Online (Sandbox Code Playgroud)
从 C# 的角度来看没有意义,因为 bool 值始终为 true 或 false,但如果数据来自 api,则 value 可以是任何不同的东西,例如 '' 或 null,您不必更改模型。
| 归档时间: |
|
| 查看次数: |
4313 次 |
| 最近记录: |