MVC项目结构验证类(java)

时间:2012-03-24 13:20:11

标签: java model-view-controller project-structure

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

我在控制器中收到一张带有注册信息(用户名,密码......)的地图。现在我想验证地图中的信息并显示验证中发生的所有错误。所以我想在一个名为validation的新包中创建一个自定义类RegistrationValidation。然后使该类返回一个包含错误的List。但我一直想知道......

我一直都知道验证应该在正确的模型类中完成,是否正在针对MVC原则进行验证?

我应该从我的控制器或模型中调用此验证类?

我该如何调用验证类? (使方法静态,使其成为单例,只需在控制器/模型或其他中创建它的实例?)

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

1 个答案:

答案 0 :(得分:0)

好问题。如果您有地图,则可以轻松create java bean from it。这个java bean将是你的模型,它将有一些公共validate方法,它将返回错误列表(错误映射,键作为属性名称,错误消息可能也有效)。

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

Flow可能是下一个:在控制器中获取数据,创建模型(java bean),在其上调用validate,返回错误列表(如果有)以查看或转发到下一个视图。这是MVC应用程序非常典型的工作流程。

哦,不要做任何静电,不要让它成为单身。如果您在控制器之间共享验证,则只需在其中注入验证器。查看spring framework。它可能对你有用。