我有一些条件验证的标准'RequiredIf‘属性。
我的表单和模型是相当大的,该模型有63个属性,其中大部分是经过验证的。
无论如何,当我的验证正在执行时,我的模型被加载的地方出了问题。
如果我在'RequiredIf‘'IsValid’方法中的第一行代码上放置一个断点,我可以看到我的模型有很多空值。当我按F5 (继续验证下一个属性)时,仍然会出现很多空值。如果我再按F5 5次,模型就会神奇地填满我发布的数据。
我的第一次5-6验证就是因为这个而被搞砸了。有人知道模型是怎么装的吗?我不使用自定义模型绑定。
发布于 2012-03-23 18:08:32
解决方案是完全“覆盖”标准模型绑定。创建自己的模型绑定器,手动加载整个模型,然后执行所有模型验证。我仍然确信,在这个标准的model中,有一些方法可以说“嘿,在验证之前加载整个模型”,但我现在不得不自己做。
发布于 2012-03-23 16:36:42
我会重新设计您的页面和模型,并将数据模型和视图拆分到几个小模型中,可能使用几个部分视图。这样你就可以更好地管理你的模型了。想象一下为该模型编写测试。63属性太多了,您可能需要解决这个问题,否则听起来您稍后会遇到问题。
https://stackoverflow.com/questions/9826992
复制相似问题