Model view controller MVC中的数据验证

Model view controller MVC中的数据验证,model-view-controller,asp.net-mvc-validation,Model View Controller,Asp.net Mvc Validation,假设我有一个“视图”,用于按照MVC体系结构填写租用DVD的表单,“控制器”或“模型”,谁应该验证表单数据? 谢谢您的验证应该在MVC的模型部分。 由于模型有不同的字段,只有模型才能知道输入的组合使模型有效。这不仅仅是一个字段是否为空,或者该字段的输入是否匹配某个模式,有时这是字段输入的组合,或者模型与其他模型的关系,这些关系决定了有效状态。我的建议是使用某种形式的验证绑定在视图中进行验证,然后在持久化到任何数据存储之前再次在模型中进行验证。如果您遵循典型流程,则所有3个通常都会参与验证过程 该

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

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

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

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

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