MVC中的数据验证

时间:2012-02-03 06:00:59

标签: model-view-controller asp.net-mvc-validation

假设我有一个“视图”用于填写租用DVD的表格,根据MVC架构,“控制器”或“模型”,谁应该验证表单数据? 感谢

3 个答案:

答案 0 :(得分:2)

您的验证应该在MVC的模型部分。 由于模型具有各种字段,因此只有模型才能知道哪种输入组合使该模型有效。它不仅仅是一个字段是空白的,还是该字段的输入与某个模式匹配,但有时这是字段输入的组合,或者模型与确定有效状态的其他模型的关系。

答案 1 :(得分:1)

如果您遵循典型流程,则所有3个通常都参与验证过程。

模型定义验证属性,例如required或stringlength属性。控制器通过ModelState.IsValid检查模型的验证状态,并相应地做出决策。该视图可以额外为这些相同的属性提供客户端验证。不要仅仅依靠j来验证表格。

答案 2 :(得分:0)

我的建议是在视图中使用某种形式的验证绑定进行验证,然后在持久化到任何数据存储之前再次在模型中进行验证。