【问题标题】:How to validate that a given amount is not greater than some amount using Data annotation validations?如何使用数据注释验证来验证给定数量不大于某个数量?
【发布时间】:2019-01-02 21:01:50
【问题描述】:

我有课

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 来说值太大或太小。”

有人可以在这里指导我吗?我怎样才能做到这一点?

【问题讨论】:

    标签: c# asp.net-mvc validation data-annotations


    【解决方案1】:

    你需要使用带双参数的构造函数,即

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

    【讨论】:

    • 嗨,Sam,非常感谢您的快速回复。它工作:)
    • 很高兴我能帮上忙
    猜你喜欢
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多