我们正在寻找一种Java框架,它可以在服务器端和客户端都轻松地进行验证。Spring、Hibernate和Play是我们正在寻找的框架选择,我们使用基于注解的开发方式,这个框架也将决定我们JavaScript的选择。在客户端和服务器端的验证操作方面,哪个框架(从架构上)更好?
我们正在寻找一种Java框架,它可以在服务器端和客户端都轻松地进行验证。Spring、Hibernate和Play是我们正在寻找的框架选择,我们使用基于注解的开发方式,这个框架也将决定我们JavaScript的选择。在客户端和服务器端的验证操作方面,哪个框架(从架构上)更好?
新的Spring 3(目前处于RC2状态,很快就会完成)与Hibernate搭配使用时,有许多好处可以帮助你。在将用户输入绑定到模型后,通常需要验证模型。Spring 3提供了JSR-303声明式验证支持。如果类路径上存在JSR-303提供程序(如Hibernate Validator),则此支持会自动启用。启用后,您只需在控制器方法参数上注释@Valid
注释即可触发验证:
@RequestMapping(value = "/appointments", method = RequestMethod.POST)
public String add(@Valid AppointmentForm form, BindingResult result) {
....
}
public class AppointmentForm {
@NotNull @Future
private Date date;
}
AppointmentForm
;在这种情况下,要验证日期字段值不为空并且发生在未来。回答ChssPly76的问题,您可以直接在UI中使用已注释了Hibernate验证(或最新版本的javax.validation)的实体,在使用RichFaces时也会自动应用相同的验证规则。它有一个名为beanValidator的组件,可以读取前面提到的注释。
与GWT不同,RichFaces(和JSF)允许更多文档风格的Web页面,而不是应用程序风格。