我正在使用 ASP.NET MVC2。
我喜欢如何注释模型的字段并检查ModelState.IsValid
.
检查它的明显原因是在进行验证时,但如果新的验证规则应用于模型,您是否应该始终检查它?
这样你就不会忘记/需要检查控制器是否检查IsValid
.
是否有理由不在所有情况下都进行此检查?也许就在控制器动作有副作用(数据库写入等)时?
我正在使用 ASP.NET MVC2。
我喜欢如何注释模型的字段并检查ModelState.IsValid
.
检查它的明显原因是在进行验证时,但如果新的验证规则应用于模型,您是否应该始终检查它?
这样你就不会忘记/需要检查控制器是否检查IsValid
.
是否有理由不在所有情况下都进行此检查?也许就在控制器动作有副作用(数据库写入等)时?
但是如果新的验证规则应用于模型,您是否应该始终检查它?
您应该始终进行此检查,否则您最终会保留没有有效状态的模型。
通常,在 asp.net-mvc 中,传递给动作的模型是视图模型,它们包含所有且仅包含动作所需的数据。如果该数据无效,从理论上讲,操作应该无法完成其工作。
ModelState.IsValid
确保行动所需的所有数据都处于良好状态,可以采取行动。我看不出您不想验证该数据的原因。
在尝试使用模型中收集的数据做某事之前,您应该始终检查模型是否有效。这首先是验证的目的。
看起来很明显,但我会试一试。当您不发布模型时,无需检查模型状态。常见的场景是当您从服务中获取数据并在 get 操作上显示时。