在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并尝试自己进行验证?
答案 0 :(得分:0)
这是Vaadin 7和Vaadin 8之间的差异之一。在Vaadin 8中,验证者并不局限于Fields,而是Binder。因此,如果要在不使用Binder的情况下验证单个字段,正确的方法是使用addValueChangeListener(..)并检查ValueChangeEvent中的值。