将限制动态设置为一个数字

时间:2019-01-17 08:16:09

标签: c#

我在oracle上有一个数据库字段,名为数量。它创建为number(4)。 我想对用户进行验证,我想对用户说

  

“您不能插入大于9999的数字”

但是我想动态地做到这一点。当有人将数据库字段更改为number(5)时,此验证应显示

  

“您不能插入大于99999的数字”。

我正在使用LLBLGen作为ORM工具。我的字段长度为TableFields.Quantity.MaxLenght。是4。

在C#中,有没有一种方法可以获取最大长度 字段的最大数量

我可以编写一种从长度4开始创建最大数的方法,但是C#中有适合我的方法吗?

if (request.Quantity.ToString().Length > TableFields.Quantity.MaxLength)
  response.Notifications.Add(NotificationType.Error, 
                            "You can not insert a number bigger than {0}", 
                             9999);

1 个答案:

答案 0 :(得分:1)

您在寻找一些数学吗?

10**number - 1

以您的情况

var maxValue = Math.Pow(10, TableFields.Quantity.MaxLength) - 1; 

如果TableFields.Quantity.MaxLength == 4,则maxValue == 9999