将 RangeValidator 与字节一起使用

发布于 2024-07-16 02:50:41 字数 304 浏览 5 评论 0原文

这是有问题的属性声明:

 [RangeValidator(1,RangeBoundaryType.Inclusive,255,RangeBoundaryType.Inclusive,MessageTemplate = "StartFlexibility is out of range")]
    public byte StartFlexibility { get; set; }

调用 validate 方法时,会抛出 FormatException,告诉我值类型需要为 Int32。

请问如何修复?

This is the property declaration in question:

 [RangeValidator(1,RangeBoundaryType.Inclusive,255,RangeBoundaryType.Inclusive,MessageTemplate = "StartFlexibility is out of range")]
    public byte StartFlexibility { get; set; }

When the validate method is called, a FormatException is thrown telling me that the value type needs to be Int32.

How to fix, please?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

望她远 2024-07-23 02:50:41

好吧......快速明显的解决方案是将类型更改为短或整数,

但我想做的另一个观察是范围。 您告诉 RangeValidator 采用 1 到 256 之间的包含范围,但您只能分配一个字节值直到 255,也许这就是编译器哭泣的原因。

RangeValidator 还从参数推断 Range 的类型,因此,尝试强制转换

[RangeValidator((byte) 1, ...

well... the quick obvious fix will be change the type to short or int,

but another observation i want to do, is with the range. You are telling the RangeValidator to take a inclusive range between 1 and 256, but you just can assign a byte value till 255, maybe that's the compiler reason to cry out.

The RangeValidator is also infering the type of the Range from the parameters, so, try casting

[RangeValidator((byte) 1, ...
哥,最终变帅啦 2024-07-23 02:50:41

正如 Jhonny 所说,转换为字节......但更像是

[RangeValidator(typeof(Byte), "1", RangeBoundaryType.Inclusive, "255", RangeBoundaryType.Inclusive, MessageTemplate = "Some message")]

另一个选择是在 SelfValidation 消息中调用范围验证器并在那里转换。

As Jhonny says, cast to byte... but more like this

[RangeValidator(typeof(Byte), "1", RangeBoundaryType.Inclusive, "255", RangeBoundaryType.Inclusive, MessageTemplate = "Some message")]

The other option would be to call the range validator in a SelfValidation message and cast there.

我是有多爱你 2024-07-23 02:50:41

我从未使用过 RangeValidator 类/属性,但是当一个字节只能达到 255 时,您将 256 作为上限是一个问题吗?

I've never used the RangeValidator class/attribute, but is it an issue that you have 256 as an upper bound when a byte can only get to 255?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文