何时检查以及何时不检查ModelState.IsValid

Geo*_*ett 2 c# asp.net-mvc asp.net-mvc-2

我正在使用ASP.NET MVC2.
我喜欢如何注释我的模型的字段并检查ModelState.IsValid.

检查它的明显原因是在进行验证时,但是如果将新的验证规则应用于模型,是否应该始终检查它?
这样你就不会忘记/需要检查控制器是否检查IsValid.

在所有情况下都有一些理由不进行此检查吗?也许只是当控制器动作有副作用(DB写入等)?

VJA*_*JAI 6

但是,如果新的验证规则应用于模型,您是否应该始终检查它?

您应该始终检查,否则最终会保留没有有效状态的模型.


arc*_*hil 5

一般来说,在asp.net-MVC,传递给操作模型视图模型,它们包含所需的行动仅针对所有数据行事.如果该数据无效,理论上应该无法采取行动.

ModelState.IsValid确保行动所需的所有数据都处于良好状态,随时可以采取行动.我没有看到您不想验证该数据的原因.