我有这个RangeAttribute
,它不允许我为其分配的字段发布负数。
如何修改此项以允许decimal.MinValue
和decimal.MaxValue
作为参数?
[Range(0,
float.MaxValue,
ErrorMessage = "Please enter valid float Number")]
我试过了,但它甚至不允许这样做:
要根据一系列小数值验证属性,您必须提供Decimal结构的类型和两个将转换为十进制值的字符串值。
[Range(typeof(Decimal),
decimal.MinValue.ToString(),
decimal.MaxValue.ToString(),
ErrorMessage = "Please enter valid float Number")]
答案 0 :(得分:2)
RangeAttribute有三个构造函数,它们包含两个整数,两个双精度数或两个字符串。他们都没有浮动。
尝试用两个双打来声明它,如下所示:
[Range((double)decimal.MinValue,
(double)decimal.MaxValue,
ErrorMessage = "Please enter valid decimal Number")]
答案 1 :(得分:1)
您可以对字符串中的十进制实际最小值/最大值进行硬编码以获得所需内容:
[Range(typeof(decimal),
"-79228162514264337593543950335",
"79228162514264337593543950335",
ErrorMessage = "There's an error")]
虽然此时验证似乎很无用
答案 2 :(得分:-1)
这不起作用?
[Range(float.MaxValue,
float.MaxValue,
ErrorMessage = "Please enter valid float Number")]
这允许任何数字
或
[Range(-42,
+42,
ErrorMessage = "Please enter valid float Number")]
允许-42和+ 42之间的任何数字