我想限制一个整数以允许最多10个数字。即从0到任何数字(XXXXXXXXXX)

我正在使用C#和.NET Web API

在我的Class.cs文件中,我已经这样使用过

[RegularExpression(@"^\d{1,10}$", ErrorMessage = "Invalid RequestedN")]
[Display(Name = "RequestedN")]
public int RequestedN { get; set; }


我将在单击我的提交按钮时收到JSON响应。我将通过在Controller中验证ModelState来验证JSON(对象)...

当我输入11位数字时,它显示如下消息

“对于Int32,JSON整数91234567890太大或太小。路径'Quotas [0] .RequestedN',第1行,位置81。”

但我希望消息为“ Invalid RequestedN”

我已经尝试了以下另一个RegularExpression,但没有用。

^([1-9]|([1-9][0-9])|([1-9][0-9][0-9])|([1-9][0-9][0-9][0-9])|([1-9][0-9][0-9][0-9][0-9])|\d{6}|\d{7}|\d{8}|\d{9}|\d{10})$


对这个问题提出任何想法或解决方案

最佳答案

您将必须使用Int64:


  Int64是一个不可变的值类型,表示带符号整数,其值范围从负9,223,372,036,854,775,808(由Int64 :: MinValue常数表示)到正9,223,372,036,854,775,807(由Int64 :: MaxValue常数表示)。一个无符号的64位整数值类型UInt64,它表示介于0到18,446,744,073,709,551,615之间的值。


因此,将您的数字转换为Int64,然后可以使用表达式:^ \ d {1,10} $

关于c# - 如何限制整数以允许最多10位数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38367906/

10-13 06:24