验证字符串长度:X 或 Y,而不是在 X 和 Y 之间?

发布于 2024-11-07 01:45:52 字数 279 浏览 1 评论 0原文

我经常使用验证框架,例如:

[StringLength(10, MinimumLength=5)]
public string MyString{ get; set; }

这允许我指定 MyString 长度必须在 5 到 10 个字符之间。

现在我必须检查字符串的长度是 5 还是 10。不允许有其他长度。 我很确定 StringLength 属性是不够的,那么该怎么做呢?我是否需要扩展验证框架以及如何扩展?

谢谢

I often use the validation framework with something like :

[StringLength(10, MinimumLength=5)]
public string MyString{ get; set; }

This allows me specify the MyString length must be between 5 and 10 characters long.

Now I have to check if the string is either 5 long, or 10 long. No other length are allowed.
I'm quite sure the StringLength attribute is inadequate, so how to do that ? Have I to extend the validation framework and how ?

thx

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

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

发布评论

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

评论(2

擦肩而过的背影 2024-11-14 01:45:52

如果可以(我不熟悉相关的验证库),您可以使用正则表达式。

验证任何字符(长度为 5 或 10)的正则表达式为:

^.{5}(.{5})?$

如果只有数字,则可以使用:

^\d{5}(\d{5})?$

If you can (I'm not familiar with the validation library in question) you can use a regular expression.

The regular expression to validate any character, length 5 or 10, would be:

^.{5}(.{5})?$

If you only have digits, you can use:

^\d{5}(\d{5})?$
倾城花音 2024-11-14 01:45:52

使用流畅的验证 api,我只需使用:

RuleFor(x => x.Property).Length(10);

using the fluent validation api i'd just use:

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