java - 在离开字段时,而不是在 Vaadin 8 Binder 中输入用户类型时,更少地运行 validator

标签 java validation data-binding vaadin vaadin8

Vaadin 8、new Binder feature可以将一个或多个 validator 附加到一个字段。例如,当用户在文本字段中键入内容时,这些 validator 会立即运行。

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

最佳答案

在 Vaadin 8 中,TextField 触发值更改事件时的默认行为已更改。但是,如果您将 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,您可以减少运行值更改事件和验证的频率。

关于java - 在离开字段时,而不是在 Vaadin 8 Binder 中输入用户类型时,更少地运行 validator ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43154475/

相关文章:

javascript - knockout 条件绑定(bind)(但不是 native "if"方式)

java - Java 中 JTextfield 的表单验证?

java - 嵌套映射与多键映射性能

Java 泛型自引用 : is it safe?

java - Android 编译错误 - 无法找到 java/util/function/Function 的字节码

java - java中验证字符串只包含某些字符

java - JoptionPane 验证遇到问题

data-binding - 绑定(bind)数据透视 header 模板

具有多种类型和多个数据绑定(bind)的 Python Selenium HTML 类

java - 在完成()之后从 Activity 中获取结果;在 Android 单元测试中