如果提交了除数字和/或小数之外的其他内容,如何让文本框给出错误?
答案 0 :(得分:3)
您需要在文本字段中添加验证器。
textField.addValidator(new Validator());
没有验证器在Vaadin中检查值是否为数字,因此您需要创建自定义数字:
private class MyValidator implements Validator {
@Override
public void validate(Object value)
throws InvalidValueException {
if (!(value instanceof Integer &&
(value instanceof Double)) {
throw new InvalidValueException("The value is not a number");
}
}
}
现在您可以将自定义验证器添加到您的字段中:
textField.addValidator(new MyValidator());
有关验证者here的更多信息。
答案 1 :(得分:0)
private class MyValidator implements Validator {
@Override
public void validate(Object value) throws InvalidValueException {
try {
// new Integer(text);
new Double(value.toString());
} catch (NumberFormatException e) {
throw new InvalidValueException("The value is not a number");
}
}
}