何时检查ModelState.IsValid,何时不需要检查?

3
我正在使用ASP.NET MVC2。
我喜欢如何注释我的模型字段并检查ModelState.IsValid
显然,在进行验证时检查它是有道理的,但是您是否应该始终检查它以防将新的验证规则应用于该模型?这样,您就不需要忘记/需要检查控制器是否检查IsValid
在所有情况下都进行此检查是否有某些原因不可行?也许仅当控制器操作具有副作用(例如DB写入等)时才执行此操作?
4个回答

7

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

你应该始终进行此检查,否则你会持久化不具备有效状态的模型。


5
通常在asp.net-mvc中,传递给动作的模型是视图模型,并且它们仅包含动作所需的所有数据。如果这些数据无效,则理论上动作将无法正常运行。 ModelState.IsValid 确保所有需要的数据状态良好,准备好被操作。我不认为您有不想验证数据的理由。

2

这个很显然,但是我还是想再强调一下。 当你不是在提交你的模型时,没有必要检查模型状态。常见的场景是从服务获取数据并在get操作上展示。


2

在尝试使用模型中收集的数据做任何事情之前,您应该立即检查模型是否有效。这就是验证的目的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接