2

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

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

4

1 回答 1

8

触发值更改事件时 TextField 的默认行为在 Vaadin 8 中已更改。但如果您将其设置为ValueChangeModeBLUR它将按照您从 Vaadin 7 中知道的那样工作。

// BLUR gives the old Vaadin 7 behavior, LAZY is default.
textField.setValueChangeMode(ValueChangeMode.BLUR);

来自 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

值更改后自动完成验证。通过修改,ValueChangeMode您可以减少运行值更改事件和验证的频率。

于 2017-04-03T08:52:58.930 回答