使用RangeValidator控件与字节
-
05-09-2019 - |
题
这是有问题的属性声明:
[RangeValidator(1,RangeBoundaryType.Inclusive,255,RangeBoundaryType.Inclusive,MessageTemplate = "StartFlexibility is out of range")]
public byte StartFlexibility { get; set; }
当验证方法被调用时,一个出现FormatException抛出告诉我,值类型必须的Int32。
如何解决,好吗?
解决方案
...以及快速明显修复将是类型更改为短或者int
但另一个观察我想要做的,与范围。你是在告诉RangeValidator控件取1和256之间的包容性的范围,但你可以直到255指定字节值,也许这就是编译器的理由哭了出来。
在RangeValidator控件还infering从参数的范围的类型,所以,尝试铸造
[RangeValidator((byte) 1, ...
其他提示
作为的Jhonny说,转换为字节......但更多的像这样
[RangeValidator(typeof(Byte), "1", RangeBoundaryType.Inclusive, "255", RangeBoundaryType.Inclusive, MessageTemplate = "Some message")]
在其他选择是调用在SelfValidation消息中的范围验证并浇铸在那里。
我从来没有使用RangeValidator控件类/属性,但它是你有256个为上限,当一个字节只能得到255个问题?
不隶属于 StackOverflow