在SmartGwt中创建验证器以检查String是否为整数

时间:2015-02-17 17:42:36

标签: java smartgwt

我有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;
            }
        }
};

这是最好的方法吗?我还需要在验证器中捕获数字格式异常吗?

1 个答案:

答案 0 :(得分:1)

  

这是最好的方法吗?

可能。任何时候你都可以利用框架的内置功能,这通常是一个好的解决方案的指标。 有些人可能会说异常驱动编程不是最好的方法,因为处理它们的成本,但这取决于你。

  

我还需要在验证器中捕获数字格式异常吗?

是的,这就是你知道它是否失败的方式。

myValidatorcv = new CustomValidator() {

        @Override
        protected boolean condition(Object value) {
            try {
                Integer.parseInt(value.toString());
                return true;
            } catch (NumberFormatException) {
                return false;
            }
        }
};

我对这个框架并不完全熟悉,但是如果您可以利用泛型来确保您要验证的对象是IntegerString而不是Object,那么会更好。