我有一个模型,其中一些属性可以为null。它们也有一个范围属性。但是modelstate没有检查范围属性的有效性。
这是我的财产:
[Range(0, 9223372036854775807L)]
public long? OfferId { get; set; }
首先,如果您希望您的offer_id(在c#btw中这不是一个好的命名约定-属性应该是pascal大小写,例如OfferId(,那么类型应该是长。此外,如果属性可以为null,则只有在不为null的情况下才会检查Range注释。总之,你所要做的就是:
[Range(0, 9223372036854775807L)]
public long? OfferId { get; set; }
10将通过
-10将失败
null将通过
如果您希望不传递null,也可以在Range one旁边添加[Required]注释。