【发布时间】:2019-08-02 07:58:59
【问题描述】:
我在 google 和 SO 中搜索了我的场景,但找不到答案。我想在 double 类型的 viewmodel 类属性中创建正则表达式数据注释验证。因为我有大约 20 个 double 类型的属性。因此,我想创建一个自定义正则表达式验证并应用于所有双精度类型属性,而无需明确指定每个属性,例如:
[RegularExpression(@"^[0-9]{1,6}(\.[0-9]{1,2})?$", ErrorMessage ="Invalid Input")]
public double Balance { get; set; }
我期待这样的事情:
[ApplyRegExpToAllDoubleTypes]
public class MyModel
{
public double Balance { get; set; }
public double InstallmentsDue { get; set; }
}
【问题讨论】:
-
我不认为这是可能的......
-
Ehrm...
double是一个数字。正则表达式用于字符串。这对你有什么影响?您的正则表达式正在验证输入是带小数点的数字。但是拥有double类型的属性已经为您做到了——框架会进行检查。为什么需要双精度正则表达式? -
另外,您确定要在
Balance变量上使用double吗?我觉得这和钱有关。decimal:stackoverflow.com/a/1165788/809357 更好地代表金钱
标签: c# validation data-annotations asp.net-mvc-5.2