我想使用范围验证器:
[Range(typeof(Decimal), "0.1", "9999",
ErrorMessage = "{0} must be a decimal/number between {1} and {2}.")]
但我正在使用DecimalModelBinder
,所以十进制值现在使用逗号而不是句点(点)。
所以2,5
现在有效,而不是2.5
我想使用介于0.1和9999之间的范围。
我收到错误:
0.1不是Decimal的有效值。
编辑:
我在web.xml中使用此文化设置
<system.web>
<globalization fileEncoding="utf-8"
requestEncoding="utf-8"
responseEncoding="utf-8"
uiCulture="sl-SI"
culture="sl-SI" />
</system.web>
答案 0 :(得分:0)
它取决于您当前的文化背景。 System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalSeparator
您当前的文化SL使用&#34;,&#34;作为小数点分隔符。如果您使用像en-US这样的文化,那就是&#34;。&#34;有效。
确保您当前的线程文化设置为SL,可以使用上面的代码进行检查。
另外,我不确定它是否重要,但是文档说比较类型应该是double,而不是decimal。