使用postharp代码合约时,我已将 GreaterThan 属性设置为 的 0 即可。我有一个带有用GreaterThan合同装饰的id的动作
public virtual ActionResult Edit([GreaterThan(0)] int id)
当我拨打http://localhost/Items/Edit/-1时,我收到以下错误
参数“id”必须大于0.参数名称:id
当我拨打http://localhost/Items/Edit/0时,我没有收到该错误。
似乎是参数大于或等于。我可以将它设置为.5,但之后我的错误消息看起来很奇怪,因为它会说参数'id'必须大于0.5
答案 0 :(得分:1)
如果它是一个错误并且您的号码将为零,那么您可以尝试使用:
" StrictlyPositive ",whihch 需要一个严格大于0的值。
这不是一个好的解决方案,我知道,但现在。
答案 1 :(得分:1)
这是由于一点命名笨拙造成的。
有两个限制因素:GreaterThan
和StrictlyGreaterThan
。我认为这些信息澄清了它:-) - 您必须在用例中使用StrictlyGreaterThan
。
是的,“大于”是严格的不等式,“大于或等于”是非严格的,因此GreaterThan
的命名不正确。
嗯,我们知道它,但是在公开后不可能更改API。所以这个有趣的心灵弯曲问题实际上是一个特征......