Как проверить, что данная сумма не превышает некоторую сумму, используя проверки аннотаций данных? - PullRequest
0 голосов
/ 03 января 2019

У меня есть класс

Public class Transaction{

[Required]
//[RegularExpression(@"\d{1, 5}\.\d{1,2}", ErrorMessage = "Amount has to be 
positive and upto 2 decimal places")]
[Range(0, 20000, ErrorMessage = "Maximum transaction amount can not exceed 
20000.")]
[RegularExpression(@"^[0-9]*(\.[0-9]{1,2})?$", ErrorMessage = "Amount has to 
be positive and upto 2 decimal places")]
public float Amount { get; set; }

}

Я не хочу, чтобы пользователь вводил сумму, превышающую 20 КБ, и в любой момент только два десятичных знака.

Я написал выше проверки, но когда я ввожу большое число, например 1453668789564565656. Похоже, проверка диапазона выдает исключение «значение было слишком большим или слишком маленьким для int32».

Может кто-нибудь подсказать мне здесь.Как я могу сделать эту работу?

1 Ответ

0 голосов
/ 03 января 2019

Вам нужно использовать конструктор с двойными параметрами, т.е.

[Range(0.0, 20000.0, ErrorMessage = "Maximum transaction amount can not exceed 20000.")]
...