【发布时间】:2011-04-26 18:18:36
【问题描述】:
我是上述技术的初学者,如果我提出一些愚蠢的问题,请原谅我。
我的应用中的验证代码存在设计问题。我经常打破 DRY 原则。此外,验证以某种方式使我感到困惑。我总是问自己在哪里放置一些验证的东西,检查与未检查,传播什么,验证什么等。仍然有一些关于提到的东西的主题,所以我将专注于我的 F/S/H 技术的具体问题。
例如,我的 DAO save 方法有以下验证:
public void save(Person p){
if(p==null) throw IllegalArgumentException("Person object is required...");
//...
}
我在 DAO 层的删除、更新和读取方法中也有完全相同的验证。
我一直在寻找带有 com.springframework.validation.Validator 接口的解决方案,但我遇到了将错误代码传播到 Flex 客户端的问题。 也许,我可以做这样的事情......
public void save(Person p){
BeanPropertyBindingResult err = new BeanPropertyBindingResult(p,"Errors");
//myValidator will be injected
myValidator.validate(p,err);
//...
throw MyException("Message",err);
//...
}
我不知道这是否是好方法。使用什么验证方法来最小化此类验证代码的重复。如果有人可以给我一些方向,提示,链接,我将不胜感激。
【问题讨论】:
标签: spring dao validation