数据注释 - 长类型的范围属性

时间:2013-10-08 16:23:19

标签: c# asp.net entity-framework data-annotations dynamic-data

我有一个ASP.NET动态数据网站

我正在构建模型以应用验证

我有一些bigint字段,我正在起诉SQL Server 2008

我的上下文使用bigint类型正确表示我的long字段:

public System.Nullable<long> ProcessorAffinityMask64Bit

我尝试按如下方式应用验证:

[Range(typeof(long), "0", "4294967295")]
public object ProcessorAffinityMask { get; set; }

我也尝试过:

[Range(0, 4294967295)]
public object ProcessorAffinityMask { get; set; }

[Range(0D, 4294967295D)]
public object ProcessorAffinityMask { get; set; }

但无论如何我收到以下错误:

  
    

对于Int32,值太大或太小。

  

enter image description here

那么如何验证长字段?

1 个答案:

答案 0 :(得分:0)

我们的项目中遇到了类似的问题,我们最终从Integer_Edit控件中删除了RangeValidator。

您添加到元数据中的RangeAttribute会按预期执行繁重的工作。

另一种选择是创建新的FieldTemplates并使用UIHintAttribute来指向这些。