首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遵循DCI设计时,应将验证放在何处?

遵循DCI设计时,应将验证放在何处?
EN

Stack Overflow用户
提问于 2012-10-14 02:48:17
回答 1查看 324关注 0票数 8

我正在遵循DCI来构造一个新的Rails应用程序的行为,但是我对将验证放在哪里有一些疑问。

传统上,如果您要使用ActiveRecord模型管理数据,则验证是在从AR继承的特定类中定义的,它们似乎正好适合作为数据层的一部分。

然而,在我看来,只在特定角色下发生的某些验证是有意义的,并且只有当对象在该上下文中时才应该检查它们,而在所有其他情况下都会被忽略。这基本上意味着这些验证应该在特定的角色上定义,并且当对象在有意义的上下文中使用时,应该使用这些角色模块来扩展对象。

您认为将这些验证保留在角色中是个好主意吗?如果是这样,如何在不污染与对象相同的类的其他实例的情况下声明它们?如果我想使用验证验证,它们是在类级别声明的,所以我不能将它们单独附加到对象上,被迫在角色模块上使用“ActiveRecord”实例方法的重新声明(直接将错误附加到对象的errors数组),或者一些类似的技术。

EN

回答 1

Stack Overflow用户

发布于 2012-10-23 18:47:48

这取决于所讨论的验证/规则。例如,SSN的格式规则,那么它应该是数据对象的一部分。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12875921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档