Почему вы не можете добавить обработчик EditorExit к DynamicForm или FormItem?

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

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

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

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

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

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

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

2 ответа

Решение

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

Есть один метод 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);
Другие вопросы по тегам