数据注释中的正则表达式不起作用
我的类中有这个数据注释
[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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试一下:
[RegularExpression(@"^\d+$", ErrorMessage = "仅允许数字")]
Give this a try:
[RegularExpression(@"^\d+$", ErrorMessage = "Only numbers allowed")]
通过任何更改,您使用 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.
首先,它尝试转换为 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.