MVC 3如何禁用浮点类型的模型属性验证?

时间:2011-10-24 09:16:17

标签: asp.net-mvc-3

如何禁用float类型属性的内置验证?

我们有自己的自定义验证属性,可以正常工作。 但是我们有这种情况,我们希望float属性接受(.1)作为有效的浮点数。这显然意味着(0.1),但内置验证不接受此数字。

基本上我想在逐个属性的基础上禁用验证,并且仍然强制执行我自己的自定义验证。

2 个答案:

答案 0 :(得分:0)

在viewmodel属性中使用可空类型,例如:

float? MyProp {get; set;}

这会阻止内置验证发生,但仍会使用您的自定义验证。显然,由于您现在已将属性设置为可为空,因此您可能希望在属性上放置一个Required validation属性以确保获得值。

答案 1 :(得分:0)

事实证明,默认模型绑定器实际上接受了.3。问题实际上是客户端验证实现。如果客户端验证对您不重要,您可以通过打开web.config并将ClientValidationEnabled更改为false内的AppSettings来解决此问题。