使用数字属性的MVC3 DataAnnotationsExtensions错误

zyn*_*aps 4 asp.net-mvc unobtrusive-javascript data-annotations asp.net-mvc-3

我已经安装了Scott的Kirkland DataAnnotationsExtensions.

在我的模型中,我有:

[Numeric]
public double expectedcost { get; set; }
Run Code Online (Sandbox Code Playgroud)

在我看来:

@Html.EditorFor(model => model.expectedcost)
Run Code Online (Sandbox Code Playgroud)

现在,当页面尝试渲染时,我收到以下错误:

不显眼的客户端验证规则中的验证类型名称必须是唯一的.以下验证类型不止一次出现:数字

任何想法为什么我收到错误?

mat*_*scb 15

快速回答就是删除属性

[Numeric]
Run Code Online (Sandbox Code Playgroud)

更长的解释是,通过设计,验证已经添加了一个data-val-number,因为它是double类型.通过添加数字,您将复制验证.

这工作:

[Numeric]
public string expectedcost { get; set; }
Run Code Online (Sandbox Code Playgroud)

因为变量是string类型,并且您要添加Numeric属性.

希望这可以帮助