如何为十进制ifor wcf ria服务元数据编写正则表达式?

时间:2011-06-20 19:11:34

标签: c# regex wcf-ria-services

假设我有wcf ria服务的实体元数据的十进制属性:

 public Nullable<decimal> Amount { get; set; }

我想这个字段的输入是0.00,意味着用户必须在小数点后输入2位数字。如果什么都没有,.00必须在那里。所以,123.00,12.23是档案。但12或3345是不对的。

然后我想在元数据类的此属性上将正则表达式作为验证属性。 我该怎么做? 还有其他解决办法吗?

谢谢你的回答,伙计们。这是测试:

 [RegularExpression("^\\d*\\.\\d{2}$", ErrorMessage = "Put the right number for amount")]
 public Nullable<decimal> Amount { get; set; }

这不起作用。所有123,123。,123.00都可以接受。

上述解决方案仅适用于字符串,如下所示:

 [RegularExpression("^\\d*\\.\\d{2}$", ErrorMessage = "Put the right number for amount")]
 public string Amount { get; set; }

如何让它适用于Decimal?

2 个答案:

答案 0 :(得分:0)

使用此正则表达式:

\d*\.\d\d

答案 1 :(得分:0)

试试这个表达

^\d*\.\d{2}$

^是字符串

开始的锚点

\d是一个数字

*表示前面几个或多个表达式,\d

{2}正好说出前面两个表达式,\d

$是字符串结尾的锚点

如果您不使用锚点,您可以在前面或后面放置任何你想要的东西,它会匹配。