我们目前正在寻找一个java框架,它在服务器端轻松进行验证,客户端,Spring,Hibernate,Play是我们正在搜索的框架选择,我们使用基于注释的开发,并且此框架将确定我们的javascript在客户端和服务器端的验证操作中,哪个更好的架构(体系结构)?哪个java web框架可供客户端和服务器端验证选择?
回答
客户端验证(假设“客户端”,你的意思是基于JavaScript的)是一个神话。它使一个更好的用户界面 - 没问题 - 但它不能被称为“验证”,因为什么来自客户端不能被认为有效;直到它在服务器上被验证。
服务器端验证是不是一个整体件或者 - 至少有3个分量到它:
- 数据存储约束(例如不为空,最大长度,唯一性,参照完整性,等等在数据库级别指定)。
- 域模型验证(确保你的实体是有效的)
- 客户端输入验证(UI,并以较小的程度上,基于API - 验证)
很可能从#2派生#1 - Hibernate Validatior做假设你使用Hibernate作为你的JPA提供者,这是一个出色的工作。
也可以从#3派生客户端检查。如果您打算使用GWT,那么使用Jeff推荐的GWT VF是一种很好的方法,因为它基于与Hibernate Validator相同的规范(JSR-303)。如果您打算使用其他的东西,那么从代码生成必要的scriptlet或基于XML的验证规则编写代码是相当简单的。过去我已经为ExtJS控件完成了它。
最大的问题是桥接#2和#3 - 同一个域实体可能由UI中的许多不同视图表示,每个视图都有自己的验证规则;所述验证规则可以根据实体状态和动态变化等条件进行。AFAIK除非你的UI是非常简单的1对1 CRUD类型,否则没有好的方法可以自动完成。
There's GWT Validation。它旨在桥接客户端和服务器端验证。
我会说Spring框架是最好的。我们一直在使用Spring-Hibernate组合。
添加到ChssPly76,您可以直接在您的用户界面中使用Hibernate验证(或上一版本中的javax.validation)注释实体,如果您使用RichFaces,也会自动应用相同的验证规则。它有一个名为beanValidator的组件,它读取上述注释。
与GWT不同,RichFaces(和JSF)允许使用更多的文档样式的网页,而不是应用程序样式。
新的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;
}
结合传入POST参数之后,AppointmentForm
将被验证;在这种情况下,要验证日期字段值不为空,并且将来会发生。
因此,这使得您的域模型的验证变得非常简单,您可以自由地在前端使用任何Javascript库,无论是Jquery还是Extjs等。我已经在Spring中广泛使用了Extjs的小部件,缺乏灵活性,期望Jquery和其他任何事情的相同。还有Spring-js,您可以查看并评估其用例的优点。
你可以给一些更多的细节,我创建了具有名称,邮件,文本字段的表单对象类然后我创建formcontroller使用有效的注释,我couldnt理解如何实现,并与形式使用它。 –
@Burak:你应该得到你需要的东西http://static.springsource.org/spring/docs/3.0.0.RC2/spring-framework-reference/html/ch05s07.html –
你也可以用ajaxical酱找一个JSF组件库。然而,他们大多只做服务器端验证,但使用ajax。例子是RichFaces(也包括在Seam),PrimeFaces和IceFaces。
- 1. 为MVC选择最佳客户端/服务器验证框架
- 2. 客户端和服务器端验证
- 3. Web服务客户端身份验证
- 4. 客户端或服务器端框架?
- 5. 服务器端/客户端验证.net
- 6. 客户端和服务器验证
- 7. 服务器端和客户端端框架
- 8. 如何维护服务器端验证和客户端验证
- 9. 客户端验证和服务器端验证
- 10. 客户端和服务器端验证的验证摘要
- 11. 服务器端和客户端验证可能
- 12. asp.net验证客户端或客户端或服务器端
- 13. Web服务客户端和服务器
- 14. Java web服务客户端,动态更改客户端证书
- 15. Html.beginform验证服务器端和客户端端
- 16. Java Web服务客户端
- 17. Web服务客户端Java
- 18. Java Web服务客户端:
- 19. java web服务客户端
- 20. 验证客户端与服务器
- 21. 客户端/服务器认证:React客户端与C#web api
- 22. 骨干:部分客户端验证+服务器端验证
- 23. 客户端和服务器端(JavaScript和PHP验证)
- 24. 平衡asp.net服务器端验证与客户端jQuery验证
- 25. 服务器客户端消息验证
- 26. 规则:客户端验证与服务器端验证?
- 27. 使用RESTful API进行客户端和服务器端验证
- 28. 服务器客户端身份验证
- 29. 字段验证 - 服务器端和客户端
- 30. Knockout.js的客户端验证框架
需要更多信息 – Timeless