GWT requestfactory 验证外部服务器上的实体
GWT requestfactory validate entities on external server
我使用 gwt 2.7.0 请求工厂。
编辑:我不使用客户端验证,仅使用服务器端验证(休眠注释)
我正在尝试编辑的实体名为 "Article.java"。
在正常情况下,我会在客户端使用 ArticleEditor(从编辑器扩展)编辑文章。当文章到达服务器时,执行验证。如果任何验证出错,客户端将收到一个 "Set < ConstraintViolation < ? > > oErrors ",我可以在 EditorFramework 中使用它来在表单上显示错误。
在我的特殊情况下,我有两台服务器:
A = 一个正在使用 gwt 编辑 ValueProxy (pojos)(不保留实体)。
B = 其他人可以访问数据库(休眠),A 通过无状态 EJB 访问。
我复制了一篇名为 "PersistentArticle.java" 的文章(不包含任何休眠注解,简单的 pojo)(包含所有休眠注解逻辑)。两者 class 具有相同的属性和方法。
文章编辑后,它到达服务器端 A,然后我通过 ejb 消息将对象发送到服务器 B。在 B 中,我从文章 class 创建一个 PersistentArticle 实例并尝试持久化.如果任何验证出错,它会生成 javax.validation.ConstraintViolationException。
问题是我不知道如何将服务器 B 生成的 ValidationException 与服务器 A 中的 requestFavtory 和 EditorFramework 绑定,所以我可以在表单中显示错误。 (在正常情况下,这是由服务器 A 中的 requestfactory 自动完成的)
回到客户端,我在
中收到 ValidationException
public 来自请求接收者的 void onFailure(ServerFailure oError) 方法,而不是
方法 onConstraintViolation(Set< ConstraintViolation< ? >> oErrors,这是理想的。
这可能是我想做的事情吗?
你有什么建议?
英语不是我的母语;请原谅我的任何错误。
萨克斯高级。
RequestFactory 将在调用服务方法之前验证您的对象,并在有违规情况时中止一切。如果您的验证不适合此方案,那么您将无法利用它。
您的验证是在服务方法中完成的,因此如果您想在客户端处理错误,则必须将错误发送回 return 值。这意味着将它们移动到值代理,然后返回到客户端的约束违规。
我使用 gwt 2.7.0 请求工厂。 编辑:我不使用客户端验证,仅使用服务器端验证(休眠注释)
我正在尝试编辑的实体名为 "Article.java"。
在正常情况下,我会在客户端使用 ArticleEditor(从编辑器扩展)编辑文章。当文章到达服务器时,执行验证。如果任何验证出错,客户端将收到一个 "Set < ConstraintViolation < ? > > oErrors ",我可以在 EditorFramework 中使用它来在表单上显示错误。
在我的特殊情况下,我有两台服务器:
A = 一个正在使用 gwt 编辑 ValueProxy (pojos)(不保留实体)。
B = 其他人可以访问数据库(休眠),A 通过无状态 EJB 访问。
我复制了一篇名为 "PersistentArticle.java" 的文章(不包含任何休眠注解,简单的 pojo)(包含所有休眠注解逻辑)。两者 class 具有相同的属性和方法。
文章编辑后,它到达服务器端 A,然后我通过 ejb 消息将对象发送到服务器 B。在 B 中,我从文章 class 创建一个 PersistentArticle 实例并尝试持久化.如果任何验证出错,它会生成 javax.validation.ConstraintViolationException。
问题是我不知道如何将服务器 B 生成的 ValidationException 与服务器 A 中的 requestFavtory 和 EditorFramework 绑定,所以我可以在表单中显示错误。 (在正常情况下,这是由服务器 A 中的 requestfactory 自动完成的)
回到客户端,我在
中收到 ValidationExceptionpublic 来自请求接收者的 void onFailure(ServerFailure oError) 方法,而不是
方法 onConstraintViolation(Set< ConstraintViolation< ? >> oErrors,这是理想的。
这可能是我想做的事情吗? 你有什么建议?
英语不是我的母语;请原谅我的任何错误。
萨克斯高级。
RequestFactory 将在调用服务方法之前验证您的对象,并在有违规情况时中止一切。如果您的验证不适合此方案,那么您将无法利用它。
您的验证是在服务方法中完成的,因此如果您想在客户端处理错误,则必须将错误发送回 return 值。这意味着将它们移动到值代理,然后返回到客户端的约束违规。