我尝试使用Range
创建DataAnnotation
以输入long
个号码,但它始终会抛出异常,我无法修复它。我认为问题是因为我需要输入一个大数字作为示例07608800000070
然后它会抛出异常。
我该如何解决这个问题?
我正在尝试
[Range(minimum: 1, maximum: 999999999999999, ErrorMessage = "Type the Parcel ID")]
public long parcelID {get;set;}
异常
A first chance exception of type 'System.OverflowException' occurred in mscorlib.dll
答案 0 :(得分:1)
我遇到了同样的问题,这是由于bug in jQuery Validation。他们声称这是固定的,但我认为这又被打破了。我使用了workaround(或修复)。
正在发生的事情是客户端允许的数字大于范围,因为范围JS代码有一个错误,因此当该大数字到达服务器时,服务器端验证由于此错误而中断:
类型' System.OverflowException'的第一次机会异常。发生在mscorlib.dll
确保您的范围的最大值可以适合您使用的长(或任何数据类型),否则即使客户端验证工作,如果它不适合,您仍将在服务器端获得错误它
答案 1 :(得分:0)
无法进行客户端验证。我需要修复或解决方法。
这是我使用范围数据注释属性的方式:
[Range(1, int.MaxValue, ErrorMessage = "Geçerli bir tam sayı değer yazınız!")]