在Vaadin 8 中,新Binder
功能可以将一个或多个验证器附加到一个字段。例如,当用户在 TextField 中键入时,这些验证器会立即运行。
有没有办法避免如此频繁地运行验证器,而是仅在焦点离开用户时运行,例如当用户按 Tab 键移动到另一个字段时?
触发值更改事件时 TextField 的默认行为在 Vaadin 8 中已更改。但如果您将其设置为ValueChangeMode
,BLUR
它将按照您从 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
您可以减少运行值更改事件和验证的频率。