数据注释中的正则表达式不起作用

发布于 2024-11-03 06:01:57 字数 294 浏览 1 评论 0原文

我的类中有这个数据注释

 [Required(ErrorMessage = "Introduce a number!")]
 [RegularExpression("[0-9]+", ErrorMessage = "Only numbers allowed")]
   public int number { get; set; }

第一个数据注释效果很好,但第二个数据注释不起作用,如果我引入一个字母或非数字的东西,它会向我显示默认消息...有什么想法吗?

它显示值“foo”对于数字无效

I have this data annotation in my class

 [Required(ErrorMessage = "Introduce a number!")]
 [RegularExpression("[0-9]+", ErrorMessage = "Only numbers allowed")]
   public int number { get; set; }

The first data annotation works great but the second one doesn't work, if I introduce a letter or something that is not a number, it shows me the default message...any ideas?

It shows the value 'foo' is not valid for number

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

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

发布评论

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

评论(3

土豪我们做朋友吧 2024-11-10 06:01:57

尝试一下:
[RegularExpression(@"^\d+$", ErrorMessage = "仅允许数字")]

Give this a try:
[RegularExpression(@"^\d+$", ErrorMessage = "Only numbers allowed")]

偷得浮生 2024-11-10 06:01:57

通过任何更改,您使用 jquery 1.5 吗? iirc 如果您使用新的 mvc 项目附带的不引人注目的验证,则该版本的不引人注目的验证会被破坏。 IIRC 我使用与海报相同的表达方式,它对我有用。

by any change are you using jquery 1.5? iirc the unobtrusive validation is broken for that version if you are using the unobtrusive validation that comes with a new mvc project. IIRC I use the same expression as the poster about and it works for me.

蛮可爱 2024-11-10 06:01:57

首先,它尝试转换为 int,因为数据类型是 int,因此您会看到默认消息。如果您使用数据类型字符串,那么您的正则表达式将起作用。

First it try to convert to int since the datatype is int and therefore u see default message. If u use datatype string then ur regex will work.

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