c# - 无障碍客户端验证错误

标签 c# asp.net-mvc asp.net-mvc-3

我正在使用 asp.net mvc 3,但我不断收到以下错误。

Validation type names in unobtrusive client validation rules must be unique. The following validation type was seen more than once: number

我不知道,因为我有这个

@Html.TextBoxFor(x => x.Mark)

//我的 View 模型

   [Required(ErrorMessage = "Message")]
        [Number(ErrorMessage = "Message")]
        public decimal Mark { get; set; }

如果我将它从十进制更改为字符串,它不会提示。这是怎么回事?

编辑

我认为这是因为 [Number(ErrorMessage = "Message")] 注释。我正在使用这个库 Data annotation extensions

看来我用的不是小数。有人知道为什么吗?

最佳答案

如果您使用的是 decimal 类型,则不需要使用 [Numeric] 属性,因为 MVC 已经看到您正在使用数字类型并为您注入(inject)该类型(这会导致错误)。当您更改为字符串时,需要 [Numeric] 来告诉验证您希望该字符串如何工作。

在下一个版本的 DataAnnotationsExtensions 中,我将更改 [Numeric] 属性,因此在这种情况下它不会与 MVC 版本冲突。但就目前而言,删除 [Numeric] 属性会很好,因为数字类型上的 [Numeric] 无论如何都是多余的。

关于c# - 无障碍客户端验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5695906/

相关文章:

asp.net-mvc - 如何为 Asp.NET MVC 应用程序设置 log4net

c# - try catch 不处理 BadImageFormatException

c# - 使用 WCF 和 Java 编写的 Web 服务

.net - Autofac 和 IDisposable 接口(interface)

c# - 有没有办法从.net MVC中的代码编译scss文件

.net - 如何在 ASP.NET MVC 3 中发布文件数组?

c# - 使用 C# 在 ASP.NET MVC3 中进行模型绑定(bind)的好资源?

c# - 打印数据表的内容

c# - 使用别名地址过滤用户 - MS Graph

c# - 使用具有特定精度的小数作为 Dapper 的输出参数