gpt4 book ai didi

php - 定义 "Validation in the Model"

转载 作者:可可西里 更新时间:2023-10-31 23:44:16 24 4
gpt4 key购买 nike

关于用户输入验证的位置有一些讨论:

Should validation be done in Form objects, or the model?

Where do you do your validation? model, controller or view

这些讨论已经很老了,所以我想再次提出这个问题,看看是否有人有任何新的意见。如果没有,我提前道歉。

如果您来自模型阵营的验证 - 模型是否意味着数据的 OOP 表示(即 Active Record/Data Mapper)作为“实体”(借用 DDD 术语) - 在这种情况下,我假设,希望所有模型类都继承通用的验证约束。或者这些规则是否可以简单地成为模型中服务的一部分——即验证服务?例如,您可以考虑 Zend_Form 及其验证类作为模型的一部分吗?域模型的概念似乎并不局限于实体,因此验证可能不一定需要局限于此实体。

您似乎需要在表单和“实体”之间来回处理大量可能多余的值和响应 - 在某些情况下,您可能不会保留从用户输入接收到的数据,或者从用户输入接收到的数据完全没有。

最佳答案

我个人更喜欢在模型中进行验证。安全考虑当然超出了模型的用途范围,但没有人说模型只在一个地方以一种形式更新。通过将类型验证和健全性检查置于模型之外,您每次在其上设置任何内容时都必须进行验证,这会导致难以更新的复制/粘贴代码。

关于php - 定义 "Validation in the Model",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2990863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com