看了很多关于干净的iOS架构VIPER的文章,我明白了主要目的:关注点分离。
我目前将它用于我的项目。我有模块,每个模块都由视图、交互器、演示者、实体和路由器(带有情节提要)分割。
我有一个模块:地址和一个子模块 Add 用于添加地址页面。
所以,我的协议视图由我的 UIViewController 实现。视图控制器包含所有弱 IBOutlet 标签和文本字段(用于新地址表单)。
地址表单包含几个字段,例如:
- 人的名字和姓氏
- 邮政编码
- 国家
- 状态
- 电话
- 电子邮件
- ETC...
在我的例子中,演示者只是将用户交互依赖于执行 API 调用的交互器。
但是,在执行 API 调用之前,我想预先验证表单以避免消耗无用的网络资源。
我需要检查例如:
- 国家的内容并告诉视图如果为空则该字段是必需的...
- 电子邮件的格式并告诉视图该字段无效...
我的问题是,我可以将表单验证代码放在哪里?
应该使用哪个 VIPER 组件来完成这项工作?
先感谢您!