我有一个相当复杂的 ViewModel 包含decimal
属性,这些属性以文本框的形式向用户公开。我想要一个没有值的文本框被解释为零。(底层域对象中的属性不可为空,默认值为 0。)
当DefaultModelBinder
将视图数据绑定到 ViewModel 时,输入的空白字符串的十进制属性被初始化为零(在 .NET 中是标准的),但是DefaultModelBinder
会在空白文本框的 ModelState 中添加错误。结果,ModelState 无效,用户看到一大堆“需要 A 值”。他们留空的文本框的错误。
如何阻止这些错误被添加到 ModelState?