如何禁用float类型属性的内置验证?
我们有自己的自定义验证属性,可以正常工作。 但是我们有这种情况,我们希望float属性接受(.1)作为有效的浮点数。这显然意味着(0.1),但内置验证不接受此数字。
基本上我想在逐个属性的基础上禁用验证,并且仍然强制执行我自己的自定义验证。
答案 0 :(得分:0)
在viewmodel属性中使用可空类型,例如:
float? MyProp {get; set;}
这会阻止内置验证发生,但仍会使用您的自定义验证。显然,由于您现在已将属性设置为可为空,因此您可能希望在属性上放置一个Required validation属性以确保获得值。
答案 1 :(得分:0)
事实证明,默认模型绑定器实际上接受了.3
。问题实际上是客户端验证实现。如果客户端验证对您不重要,您可以通过打开web.config并将ClientValidationEnabled
更改为false
内的AppSettings
来解决此问题。