我有TextItem
,我想在其上设置一个Validator
,以便检查输入是否只是一个整数。
TextItem textItem = new TextItem();
textItem.setValidator(myValidator)
我应该如何创建myValidator
来检查这个?我有:
myValidatorcv = new CustomValidator() {
@Override
protected boolean condition(Object value) {
if (Integer.parseInt(value);){
return true;
}else
return false;
}
}
};
这是最好的方法吗?我还需要在验证器中捕获数字格式异常吗?
答案 0 :(得分:1)
这是最好的方法吗?
可能。任何时候你都可以利用框架的内置功能,这通常是一个好的解决方案的指标。 有些人可能会说异常驱动编程不是最好的方法,因为处理它们的成本,但这取决于你。
我还需要在验证器中捕获数字格式异常吗?
是的,这就是你知道它是否失败的方式。
myValidatorcv = new CustomValidator() {
@Override
protected boolean condition(Object value) {
try {
Integer.parseInt(value.toString());
return true;
} catch (NumberFormatException) {
return false;
}
}
};
我对这个框架并不完全熟悉,但是如果您可以利用泛型来确保您要验证的对象是Integer
或String
而不是Object
,那么会更好。