gpt4 book ai didi

validation - 带有编辑器框架的 GWT 验证器

转载 作者:行者123 更新时间:2023-12-04 15:48:00 26 4
gpt4 key购买 nike

有没有人意识到编辑器和 jsr 303 验证如何使用 GWT 2.3
future ?验证 API 已添加到 gwt sdk。但我无法使用编辑器框架验证实体。无论
我做的错误永远不会从客户端或服务器端抛出。

这是一个代码片段:

public class P {

public P() {}

@Size(min=4)
private String name;

public void setName(String name) {
this.name = name;
}

public String getName() {
return name;
}

}

PEditor
public class PEditor extends Composite implements Editor<P> {

private static PEditorUiBinder uiBinder = GWT.create(PEditorUiBinder.class);

interface PEditorUiBinder extends UiBinder<Widget, PEditor> {}

@UiField
TextBox name;

public PEditor() {
initWidget(uiBinder.createAndBindUi(this));
}

}
  PEditor pEditor;
interface Driver extends SimpleBeanEditorDriver<P, PEditor> {}

Driver driver = GWT.<Driver> create(Driver.class);

public void onModuleLoad() {

pEditor = new PEditor();
driver.initialize(pEditor);
P p = new P();
driver.edit(p);
pEditor.name.setText("G");
driver.flush();

if(driver.hasErrors()) {
List<EditorError> errors = driver.getErrors();

for (EditorError error : errors) {
System.out.println(error.getMessage());

}

}
}

谢谢你的帮助

最佳答案

至少从 2.3 开始,Validation API 不会为您构建客户端代码——它是一种可以集成到服务器上的工具,可以让您的服务器在某些情况下回吐错误。

调用 EditorDriver.hasErrors()只是为了检查是否有任何代码告诉本地代表是否有错误——客户端验证可以通过这个实现。

现在最自动的情况是使用 RequestFactory 时 - 如果您的服务器类路径上有 javax.validation jar(api 和源代码)以及验证库(hibernate-validator 和 apache 的 bval 是两个这样的库),接收器回调将有 onViolation叫。

使用 RequestFactory 从服务器获取违规,RequestFactoryEditorDriver然后可用于将错误推送到 UI,尽管使用 HasEditorErrors编辑器实例和包装器,例如 ValueBoxEditorDecorator ,或者只是在 onViolation 时通过某种机制(警报、横幅、您的调试 sys.out.println 等)通知用户叫做。

如果使用 RPC,您可以自己运行服务器验证,并且(从 2.3 开始)调用 driver.setConstraintViolationsConstraintViolation从验证过程在服务器上生成的对象。

关于validation - 带有编辑器框架的 GWT 验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5978473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com