Vaadin 7 PasswordField 正则表达式验证不起作用
Vaadin 7 PasswordField regex validation not working
对于标准 Java 正则表达式工作正常:-
Pattern pattern = Pattern.compile("\s");
Matcher matcher = pattern.matcher("space here");
Matcher matcher2 = pattern.matcher("noSpaceHere");
boolean foundSpace = matcher.find();
boolean noSpace = matcher.find();
System.out.println("Space found "+foundSpace);
System.out.println("Any space found "+noSpace);
我认为 Vaadin 应该是一样的。但它不起作用:
PasswordField field = new PasswordField((String) processConfig.get("name"));
field.setWidth("100%");
field.addValidator(new RegexpValidator("\s", "Whitespace is not allowed for password field"));
截图:-
无论我向这个 PasswordField 字段输入什么,它总是报告无效。在这种情况下,我将“abcd”作为输入。我的意图是不允许密码字段有任何空格。 Vaadin PasswordField 怎么办?
尝试允许除白色以外的任何其他字符的 0-n 的正则表达式 space:
field.addValidator(new RegexpValidator("[^\s]*", "Whitespace is not allowed for password field"));
对于标准 Java 正则表达式工作正常:-
Pattern pattern = Pattern.compile("\s");
Matcher matcher = pattern.matcher("space here");
Matcher matcher2 = pattern.matcher("noSpaceHere");
boolean foundSpace = matcher.find();
boolean noSpace = matcher.find();
System.out.println("Space found "+foundSpace);
System.out.println("Any space found "+noSpace);
我认为 Vaadin 应该是一样的。但它不起作用:
PasswordField field = new PasswordField((String) processConfig.get("name"));
field.setWidth("100%");
field.addValidator(new RegexpValidator("\s", "Whitespace is not allowed for password field"));
截图:-
无论我向这个 PasswordField 字段输入什么,它总是报告无效。在这种情况下,我将“abcd”作为输入。我的意图是不允许密码字段有任何空格。 Vaadin PasswordField 怎么办?
尝试允许除白色以外的任何其他字符的 0-n 的正则表达式 space:
field.addValidator(new RegexpValidator("[^\s]*", "Whitespace is not allowed for password field"));