0

我可以以某种方式将我的“输入对象”中的属性标记为强制执行并且它需要有效。即如果我有:

public class MyInput
{
  //[SuperNeeded]
  public int FooBar { get; set; }
  public string Other { get; set; }
}

当没有 FooBar 的请求或 FooBar 不是数字时,我想 ASP.NET 堆栈抛出异常。这些是有效的:

FooBar=1&Other=abc
FooBar=3

但这些不是(不希望 FooBar 为 0):

FooBar=abc&Other=abc //FooBar is not number
Other=abc //FooBar is missing

任何想法如何轻松做到这一点?

4

2 回答 2

1

你试过使用RequiredAttribute吗?

于 2012-06-07T07:28:57.507 回答
0

在这种情况下,您需要:

[Required]
public int? FooBar { get; set; }

这样你就不会简单地得到 0,如果它丢失,你会得到 null,如果传入 0,你会得到 0。

于 2013-06-15T01:12:40.397 回答