使用数字属性的 MVC3 DataAnnotationsExtensions 错误
我已经安装了 Scott 的 Kirkland DataAnnotationsExtensions。
在我的模型中,我有:
[Numeric]
public double expectedcost { get; set; }
在我的视图中:
@Html.EditorFor(model => model.expectedcost)
现在,当页面尝试渲染时,我收到以下错误:
以不显眼的方式验证类型名称 客户端验证规则必须是 独特的。以下验证类型 被多次看到:数量
有什么想法为什么我会收到错误吗?
I've installed Scott's Kirkland DataAnnotationsExtensions.
In my model I have:
[Numeric]
public double expectedcost { get; set; }
And in my View:
@Html.EditorFor(model => model.expectedcost)
Now, when the page tries to render I get the following error:
Validation type names in unobtrusive
client validation rules must be
unique. The following validation type
was seen more than once: number
Any ideas why I'm getting the error ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
快速的答案是简单地删除属性。
较长的解释是,根据设计,验证已经添加了一个data-val-number,因为它的类型是double。通过添加数字,您将重复验证。
这是有效的:
因为变量的类型为字符串,并且您要添加数字属性。
希望这有帮助
The quick answer is simply remove the attribute
The longer explanation is that by design, validation already adds a data-val-number because it's of type double. By adding a Numeric you are duplicating the validation.
this works:
because the variable is of type string and you are adding the Numeric attribute.
Hope this helps
我基本上遇到了同样的问题,我设法用以下代码解决了它:(如此处回答:ASP.NET MVC - “验证类型名称必须是唯一的。”)
使用系统;
使用 System.Web.Mvc;
和 ValidationRule:
公共类RequiredIfValidationRule:ModelClientValidationRule
{
私有常量字符串字符=“abcdefghijklmnopqrstuvwxyz”;
我希望
这有帮助。
I basically had the same problem and I managed to solve it with the following piece of code: (As answered here: ASP.NET MVC - "Validation type names must be unique.")
using System;
using System.Web.Mvc;
And the ValidationRule:
public class RequiredIfValidationRule : ModelClientValidationRule
{
private const string Chars = "abcdefghijklmnopqrstuvwxyz";
}
I hope this helps.