【发布时间】:2018-09-22 16:41:03
【问题描述】:
我正在开发一个 ASP.NET Web API,其中一个方法将以下模型作为输入参数
public InputModel
{
int Id {get; set;}
bool? IsTrue {get; set;}
}
它适用于真假值。我试图检查它对于非布尔值的行为。所以我提供了输入并得到了一些结果
isTrue = 0 -> 模型设置为 false
isTrue = 1 -> 模型设置为 true
isTrue = 2 -> 模型设置为 true
isTrue = -1 -> 模型设置为真
这是我没想到的。对于所有非零整数,模型设置为 true
如何配置模型绑定器以仅在布尔输入而不是整数输入上设置值(可能会给出一些验证错误)?
【问题讨论】:
-
如果值可以大于
0或1,那么布尔值可能不是正确的类型? -
我只是想看看布尔对于非布尔输入的行为。由于 API 将是公开的,任何人都可以发送任何值,因此我有责任至少验证输入。上述情况在某些情况下可能有效,但在我的情况下无效。
标签: c# asp.net asp.net-web-api