在我的视图模型中,我对包含美元货币的属性有以下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 位数字。