ASP.NET MVC 美元货币验证



在我的视图模型中,我对包含美元货币的属性有以下System.ComponentModel.DataAnnotations

[DisplayFormat(DataFormatString = "{0:C2}")]
[Range(0.01, 100000, ErrorMessage = "Payment amount is required between .01 and $100,000.")]
[DataType(DataType.Currency)]
[DisplayName("Payment Amount")]
public Double PrinAmount { get; set; } = 0.00;

当我输入值$10.005时,我从ModelState.IsValid检查中得到以下验证模型错误:

值"$10.005"不适用于付款金额。

当我输入一个值10.005时,ModelState.IsValid等于true

我需要做什么来修改验证以将两种格式捕获为无效?

您可以使用正则表达式;

[RegularExpression(@"^d+.d{0,2}$")]

上面的数据注释确保 2 位数字。

最新更新