5

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

4

3 回答 3

3

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

于 2012-02-03T06:04:50.793 回答
1

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

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

于 2012-02-03T06:11:00.333 回答
0

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

于 2012-02-03T06:07:21.270 回答