Почему вы не можете добавить обработчик EditorExit к DynamicForm или FormItem? - PullRequest
7 голосов
/ 29 марта 2012

Этот обработчик существует только для ListGrid.

Но если вы посмотрите документы для DynamicForm.setValidateOnExit (), то там будет написано:

Если true, элементы формы будут проверяться, когда каждый элемент "editorExit" проверяется обработчик запускается, а также когда вся форма отправлена ​​или подтверждено.

Обратите внимание, что это свойство также может быть установлено на элементе уровень, чтобы включить более точную проверку гранулярности в ответ на пользователя взаимодействие - если true на любом уровне, проверка будет происходить на editorExit.

Итак, как мы можем добавить EditorExitHandler в DynamicForm или FormItem?

РЕДАКТИРОВАТЬ:

Я хочу создать панель ошибок под формой для динамического отображения всех ошибок. Каждый FormITem имеет возможность проверки при выходе, но я не знаю, как захватить это событие проверки, чтобы проверить, следует ли обновить панель ошибок или нет.

Ответы [ 2 ]

2 голосов
/ 30 марта 2012

Существует один метод form.getErrors() и form.showError(true). Этим вы можете достичь этого. Но для этого вам также нужно установить Validator для каждого поля.

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);
0 голосов
/ 31 июля 2012

После некоторых исследований я до сих пор не нашел убедительного ответа.Я думаю, это должно быть требование разработчика

...