Validation 我应该在哪里执行数据验证

Validation 我应该在哪里执行数据验证,validation,model-view-controller,Validation,Model View Controller,我有一个类似于“联系人”应用程序的表单。用户填写一个表单,将信息保存在名为Person的对象中 我想验证该信息,并在出错处下方显示一条红色消息。我不知道在哪里验证数据 当用户按下save按钮时,我想直接在视图控制器中执行此操作,但我不确定它是否遵循MVC原则。我还认为,在使用setter直接在对象类中执行此操作时,如果数据无效,将返回一条错误消息,这也将稍微取决于技术。但是如果我们坚持这个概念,你应该想到MVC的目的,即解耦视图、控制器和模型 如果它真的是解耦的,那么最终可能会有不同的技术实现应

我有一个类似于“联系人”应用程序的表单。用户填写一个表单,将信息保存在名为
Person
的对象中

我想验证该信息,并在出错处下方显示一条红色消息。我不知道在哪里验证数据


当用户按下save按钮时,我想直接在视图控制器中执行此操作,但我不确定它是否遵循MVC原则。我还认为,在使用setter直接在对象类中执行此操作时,如果数据无效,将返回一条错误消息,这也将稍微取决于技术。但是如果我们坚持这个概念,你应该想到MVC的目的,即解耦视图、控制器和模型

如果它真的是解耦的,那么最终可能会有不同的技术实现应用程序的视图,但使用相同的模型(取决于模型的公开方式)

<>你必须考虑什么是你的约束,你应该考虑在模型附近验证它作为对后端的保护,但是在客户端(在视图附近)执行一些验证以提高应用程序性能和减少网络(我假设它是网络应用程序)的用法是一个有趣的想法。
因此,总是在模型附近使用验证(比如为模型或模型中使用层),以提高代码的可重用性/自主性。并在视图上使用验证来提高应用程序吞吐量,但请记住,它必须在所有视图(如android、ios和web)上实现,这可能会导致验证逻辑的重复,这是不好的。

最好在模型中保留任何计算/验证/解析等内容。将视图控制器视为模型的一个桥梁,委托在其中执行哪些操作