【问题标题】:Error with Decimal Regular Expression validation MVC 5十进制正则表达式验证 MVC 5 错误
【发布时间】:2018-03-02 23:14:56
【问题描述】:

我有一个正则表达式来验证一个带两位小数的十进制字段,这里是解码代码

[RegularExpression(@"^[0-9]{1,11}(?:\.[0-9]{1,2})?$", ErrorMessage = "El campo {0} debe ser un numero con máximo 2 decimales")]
public decimal? amount { get; set; }

当我创建一行时它工作得很好,但是当我编辑它时减去该字段时,它会抛出 ErrorMessage 异常,调试它我可以看到该值是正确的,我的意思是它只有两位小数并且是正数

减法涉及的两个字段都是十进制类型

最奇怪的是,它运行良好,只是突然停止运行

谢谢,如果有人可以帮我解决这个问题

【问题讨论】:

    标签: regex asp.net-mvc-5


    【解决方案1】:

    /^[0-9]{1,11}(?:\.[0-9]{1,2})?$/ 表示: “1 到 11 位,后跟一个点和 1 位或 2 位小数”。

    它不能与减号或加号一起使用。 “12345678901.12”有效,因此为“3”,但不是“+25”或“-43.5”。 它不处理小于 1 的十进制值,例如“.42”

    【讨论】:

    • 变量在崩溃前得到的值是“1900.00”,或者至少是调试器显示的值
    猜你喜欢
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    相关资源
    最近更新 更多