如何验证 Vaadin 8 PasswordField?

How to validate Vaadin 8 PasswordField?

在 Vaadin 7 中,我有 PasswordField 和以下代码:-

  PasswordField passwordField =  new PasswordField((String) processConfig.get("name"));
  passwordField.setWidth("100%");
  passwordField.addValidator(new RegexpValidator("[^\s]*", "Whitespace is not allowed for password field"));

最近我升级到Vaadin 8。现在有编译错误没有addValidator方法。我知道有新的 Validator + Binder。但是有什么方法可以避免Binder并尝试进行我自己的验证吗?

这是 Vaadin 7 和 Vaadin 8 以及后续版本(例如 Vaadin 14)之间的差异之一。在 Vaadin 8 中,验证器不绑定到字段,而是绑定到 Binder。因此,如果您想在不使用 Binder 的情况下验证单个字段,正确的方法是使用 addValueChangeListener(..) 并检查 ValueChangeEvent.

中的值