在离开字段时,不经常运行验证器,而不是在Vaadin 8 Binder中作为用户类型

Bas*_*que 2 java data-binding validation vaadin vaadin8

Vaadin 8中,Binder功能可以将一个或多个验证器附加到字段.例如,当用户在TextField中键入时,这些验证器会立即运行.

有没有办法避免经常运行验证器,而只是在焦点离开用户时运行,例如当用户按Tab键移动到另一个字段时?

Axe*_*ier 8

在触发值更改事件时,TextField的默认行为在Vaadin 8中已更改.但是,如果设置为ValueChangeMode,BLUR它将按照您所知的Vaadin 7工作.

// BLUR gives the old Vaadin 7 behavior, LAZY is default.
textField.setValueChangeMode(ValueChangeMode.BLUR);
Run Code Online (Sandbox Code Playgroud)

来自Vaadin 8的消息来源:

/**
 * Fires a server-side event when the field loses focus.
 */
BLUR,

/**
 * On every user event, schedule a server-side event after a defined
 * interval, cancelling the currently-scheduled event if any. This is a good
 * choice if you want to, for instance, wait for a small break in the user's
 * typing before sending the event.
 */
LAZY
Run Code Online (Sandbox Code Playgroud)

在值更改后自动完成验证.通过修改,ValueChangeMode您可以更少地运行值更改事件和验证.