假设我有一个“视图”用于填写租用DVD的表格,根据MVC架构,“控制器”或“模型”,谁应该验证表单数据? 感谢
答案 0 :(得分:2)
您的验证应该在MVC的模型部分。 由于模型具有各种字段,因此只有模型才能知道哪种输入组合使该模型有效。它不仅仅是一个字段是空白的,还是该字段的输入与某个模式匹配,但有时这是字段输入的组合,或者模型与确定有效状态的其他模型的关系。
答案 1 :(得分:1)
如果您遵循典型流程,则所有3个通常都参与验证过程。
模型定义验证属性,例如required或stringlength属性。控制器通过ModelState.IsValid检查模型的验证状态,并相应地做出决策。该视图可以额外为这些相同的属性提供客户端验证。不要仅仅依靠j来验证表格。
答案 2 :(得分:0)
我的建议是在视图中使用某种形式的验证绑定进行验证,然后在持久化到任何数据存储之前再次在模型中进行验证。