【发布时间】:2010-08-10 16:36:04
【问题描述】:
我的班级中有一个 int 属性,想验证用户是否输入了字符串。 如何使用数据注释来做到这一点? 当我传递一个非整数值时,我会得到这样的异常:
The value 'asdasd' is not valid for property.
例如使用这个验证属性:
[Range(0, Int32.MaxValue, ErrorMessage="Invalid Number")]
public int? Number { get; set; }
并在使用模型的字段中输入“aaa”,我收到一条异常消息:
The value 'aaa' is not valid for Number.
而不是“无效号码”消息。
有什么想法吗?
我放了
[Range(0, Int32.MaxValue, ErrorMessage="Invalid Number")]
public int? Number { get; set; }
但我收到了来自异常的消息
The value 'aaa' is not valid for Number.
【问题讨论】:
-
我正在使用字符串并尝试将其转换为 int,但我认为这不是验证此问题的正确方法。
-
现在发生的事情有什么问题?模型绑定器正在验证 int 就好了。
-
我认为你想要的可能是一个例外。查看
HandleError属性。 -
您能说明一下您想要达到的结果吗?
-
我想向用户显示自定义错误消息。
标签: c# asp.net-mvc data-annotations