cho*_*bo2 6 c# asp.net-mvc asp.net-mvc-3
我正在使用asp.net mvc 3,我一直收到以下错误.
不显眼的客户端验证规则中的验证类型名称必须是唯一的.以下验证类型不止一次出现:数字
我不知道我有这个
@Html.TextBoxFor(x => x.Mark)
Run Code Online (Sandbox Code Playgroud)
//我的viewmodel
[Required(ErrorMessage = "Message")]
[Number(ErrorMessage = "Message")]
public decimal Mark { get; set; }
Run Code Online (Sandbox Code Playgroud)
如果我将它从小数改为字符串,它将不会抱怨.到底是怎么回事?
编辑
我认为正是因为这个 [Number(ErrorMessage = "Message")]注释.我正在使用此库数据注释扩展
似乎并不是说我使用小数.谁知道为什么?
如果您使用的是十进制类型,则不需要使用[Numeric]属性,因为MVC已经看到您正在使用数字类型并为您注入(导致错误).当您更改为字符串时,需要[数字]来告知验证您希望该字符串如何工作.
在DataAnnotationsExtensions的下一个版本中,我将更改[Numeric]属性,以便在这种情况下它不会与MVC版本冲突.但是现在,删除[Numeric]属性就好了,因为数字类型的[Numeric]无论如何都是多余的.
| 归档时间: |
|
| 查看次数: |
3327 次 |
| 最近记录: |