c# - 如何使用数据注释验证来验证给定数量不大于某个数量?
问题描述
我有一堂课
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; }
}
我不希望用户输入大于 20K 的金额,并且在任何时候只有两位小数。
我已经写了上面的验证,但是当我输入一个像 1453668789564565656 这样的大数字时。看起来范围验证抛出异常“对于 int32 来说值太大或太小”。
有人可以在这里指导我。我怎样才能使这项工作?
解决方案
您需要使用带有双参数的构造函数,即
[Range(0.0, 20000.0, ErrorMessage = "Maximum transaction amount can not exceed 20000.")]
推荐阅读
- python - 使用 pandas 中所有先前的值进行计算
- node.js - 是否可以在线使用 Github 页面将 nodejs 构建为静态?
- elasticsearch - Logstash 问题正在运行
- java - 一次使用 QueryExecutionFactory 执行多个 Sparql 查询
- sass - 在 SCSS 中使用 HSLA 中的 CSS 变量
- javascript - 使用 Yup 验证多个输入字段
- verilog - 在以下情况下应该输出什么?
- web - 编程语言的选择是否会影响对 DoS 的保护,特别是 Ping Flood?
- selenium-webdriver - 我想验证一个没有正文的弹出窗口,我无法找到它的窗口句柄
- android - 检查 Wifi 连接时,广播接收器未捕获所需的情况