为什么不能将EditorExit Handler添加到DynamicForm或FormItem?

时间:2012-03-29 10:42:39

标签: smartgwt listgrid dynamicform

此处理程序仅适用于ListGrid。

但是如果你查看DynamicForm.setValidateOnExit()的文档,它会说:

  

如果为true,则在每个项目的“editorExit”时验证表单项   处理程序被触发以及提交整个表单时   验证。

请注意,此属性也可以在项目中设置   级别,以响应用户启用更精细的粒度验证   交互 - 如果在任一级别都为真,则将进行验证   editorExit。

那么我们如何将DynamicExitHandler添加到DynamicForm或FormItem?

编辑:

我想在表单下创建一个错误面板,以动态显示所有错误。每个FormITem都可以在Exit上验证,但我不知道如何捕获此验证事件以检查错误面板是否应该更新。

2 个答案:

答案 0 :(得分:2)

有一种方法form.getErrors()form.showError(true)。通过这个你可以做到这一点。但是对于那个,你还需要为每个字段设置V.alidator。

TextItem name = new TextItem("name", "Name");
name.setRequired(true);
name.setRequiredMessage("Please specify name of the Table");

NTRegExpValidator nameValidator = new NTRegExpValidator("(^[a-zA-Z0-9][\\w\\s.()_-]+)$","It should start with alphabets and can have alphanumeric values ( )_-. and space.");

name.setValidators(nameValidator);
name.addKeyUpFieldHandler(new KeyUpHandler){
    form.getErrors();
    form.showErrror(true);
});

DynamicForm form = new DynamicForm();
form.setField(name);

答案 1 :(得分:0)

经过一番研究,我仍然没有找到令人信服的答案。我想它必须是开发要求