gpt4 book ai didi

oop - 表单验证和业务验证太多了吗?

转载 作者:行者123 更新时间:2023-12-01 08:20:09 25 4
gpt4 key购买 nike

我有这个关于表单验证和业务验证的问题。
我看到很多框架使用某种形式的验证库。您提交一些值,库会验证表单中的值。如果不行,它会在你的屏幕上显示一些错误。如果一切按计划进行,这些值将被设置到域对象中。在这里,这些值将被验证,或者更准确地说,应该被验证(再次)。很可能验证库中的验证相同。我知道 2 个 PHP 框架具有这种结构 Zend/Kohana。

当我看编程和一些原则时,比如 Don't Repeat Yourself (干)和 single responsibility principle (建议零售价)
这不是一个好方法。如您所见,它验证了两次。
为什么不创建进行实际验证的域对象。

示例:包含用户名和电子邮件的表单
表单提交。用户名字段和电子邮件字段的值将填充在 2 个不同的域对象中:用户名和电子邮件

class Username {}
class Email {}

这些对象验证它们的数据,如果无效则抛出异常。
你同意?您如何看待这种方法?有没有更好的方法来实现验证?
我对处理这些东西的许多框架/开发人员感到困惑。他们都错了还是我错过了一点?

编辑:
我知道也应该有客户端验证。在我看来,这是一个不同的球赛。如果您对此有一些评论以及处理此类事情的方法,请提供。

最佳答案

  • 表单验证(客户端)实际上只是为了可用性
  • 业务验证才是真正的验证

  • 您的应用程序可能会在没有您所谓的表单验证的情况下工作,它只会对用户看起来不太好。然而,需要业务验证以防止损坏的数据。

    关于oop - 表单验证和业务验证太多了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1951974/

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