Java 在SmartGwt中创建验证器以检查字符串是否为整数

Java 在SmartGwt中创建验证器以检查字符串是否为整数,java,smartgwt,Java,Smartgwt,我有一个TextItem,我想在上面设置一个验证器,以便它检查输入是否仅为整数 TextItem textItem = new TextItem(); textItem.setValidator(myValidator) 我应该如何创建我的myValidator来检查这一点?我有: myValidatorcv = new CustomValidator() { @Override protected boolean condition(Object value

我有一个
TextItem
,我想在上面设置一个
验证器
,以便它检查输入是否仅为整数

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;
            }
        }
};
这是最好的方法吗?我还需要捕获验证器中的数字格式异常吗

这是最好的方法吗

可能吧。任何时候,只要您能够利用框架的内置功能,这通常就是一个好的解决方案的指标。 有些人可能会说,由于处理异常的成本,异常驱动编程不是最好的方法,但这取决于您

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

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

myValidatorcv = new CustomValidator() {

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

我并不完全熟悉这个框架,但是如果您可以利用泛型来确保您正在验证的对象是
整数
字符串
,而不是
对象
,那就更好了。

只需使用IntegerRangeValidator