2016-08-24 34 views
0

我试图应用范围属性在我的班级领域是这样的。为什么mvc中的范围属性并不能给我正确的答案。

[Range(typeof(Int32), "1","999", ErrorMessage = "Must be a Number between 1 and 999")] 

public long? FieldName{ get; set; } 

但它没有验证范围,因为我期待。它应该验证1到999之间的范围。 如何解决此问题。

+0

你所显示的代码工作正常(如果输入0或1000,将显示一条错误消息,你期望发生什么?)(注意,你也可以简单地将它写成'[Range(1,999, ErrorMessage =“必须...”)]' –

+0

我期待1到999之间的正数自然数范围(不包括十进制数),上面的数据注释和您在注释中写的都是接受十进制数字 –

+0

仅限'Range'属性限制了范围(一个像'9.09'这样的值在这个范围内,所以它是有效的)但是你会得到一个服务器端错误,因为它对typeof'long' –

回答

1

尝试此..........

[范围(typeof运算(的Int32), “1”, “999”,的ErrorMessage = “必须是1和999之间的正的自然数” )] [RegularExpression(“^ [0-9] {1,3} $”,ErrorMessage =“必须是1到999之间的正数)”] public long? FieldName {get;组; }

相关问题