gpt4 book ai didi

java - MVC项目结构验证类(java)

转载 作者:行者123 更新时间:2023-11-29 09:15:18 24 4
gpt4 key购买 nike

我正在创建一个 Java 桌面应用程序,并且想知道我应该如何处理验证。

我在我的 Controller 中收到一张带有注册信息(用户名、密码...)的 map 。现在我想验证 map 中的信息并显示验证中出现的所有错误。所以我想在一个名为 validation 的新包中创建一个自定义类 RegistrationValidation。然后让这个类返回一个有错误的列表。但是我一直在想...

我一直了解到验证应该在正确的模型类中完成,是否在违反 MVC 原则制作验证类?

我应该在哪里调用这个验证类,从我的 Controller 还是从我的模型?

我应该如何调用验证类? (将方法设为静态,将其设为单例,仅在 Controller /模型或其他实例中创建它的实例?)

提取验证有没有更好的方案?

最佳答案

好问题。如果您有 map ,您可以轻松 create java bean from it .这个 java bean 将是您的模型,它将具有某种公共(public)validate 方法,该方法将返回错误列表(以键作为属性名称和错误消息的错误映射也可能有效)。

当然,验证的某些方面不能仅使用 bean 数据来验证(例如,如果注册页面的验证,您需要调用其他服务以确保用户名尚未被使用)。在这种情况下,您可以将额外的参数传递给 validate(服务等)。

流程可能是下一个:在 Controller 中获取数据,创建模型(java bean),对其调用验证,返回错误列表(如果有)以供查看,或转发到下一个 View 。这是非常典型的 MVC 应用程序工作流。

哦,不要让任何东西成为静态的,不要让它成为单例。如果您跨 Controller 共享验证,只需将您的 validator 注入(inject)其中。查看spring framework .它可能对您有用。

关于java - MVC项目结构验证类(java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9852071/

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