JideFX验证器不起作用

时间:2014-10-12 16:02:49

标签: validation javafx javafx-8 jide

是javafx的新手。想要通过开箱即用的验证创建简单的表单。由于图书馆选择了JideFX。尝试重复展示(这对我来说很差) - http://www.jidesoft.com/jidefx/JideFX_Validation_Developer_Guide.pdf。仅将StackOverflowError作为结果。验证者被调用。如果验证没问题,也不例外。

使用javafx-8,Java 8,Eclipse Luna,JideFX 0.9.1(也试过0.9.1-b128)。你有什么建议吗?代码如下。

SimpleValidator.java

public class SimpleValidator implements Validator {

    @Override
    public ValidationEvent call(ValidationObject param) {
        if (param.getNewValue() != null
                && !param.getNewValue().toString().isEmpty()) {
            return ValidationEvent.OK;
        } else {
            return new ValidationEvent(ValidationEvent.VALIDATION_ERROR, 1,
                    "Error");
        }
    }
}

LoginController.java

public class LoginController {

    private static final Logger LOGGER = LoggerFactory
            .getLogger(LoginController.class);

    @FXML
    private TextField idField;
    //...
    @FXML
    private void initialize() {
        ValidationUtils.install(idField, new SimpleValidator());
    }

    public LoginController() {
        super();
    }
//...
}

3 个答案:

答案 0 :(得分:2)

您可以尝试FXForm2它为您提供快速构建酷表单的简便方法。此外,您还有一个验证功能。检查样本here

答案 1 :(得分:0)

我看了一下,显然当你将消息传递给ValidationEvent

时就会发生这种情况
return new ValidationEvent(ValidationEvent.VALIDATION_OK); //no error
return new ValidationEvent(ValidationEvent.VALIDATION_OK, 9999); //no error
return new ValidationEvent(ValidationEvent.VALIDATION_OK, 9999, ValidationEvent.FailBehavior.IGNORE); //no error
return new ValidationEvent(ValidationEvent.VALIDATION_OK, 9999, "teste"); //error
return new ValidationEvent(ValidationEvent.VALIDATION_OK, 9999, "teste", "teste"); //error

返回新的ValidationEvent(ValidationEvent.VALIDATION_OK,9999,ValidationEvent.FailBehavior.IGNORE,“teste”);

这可能与TooltipEx causes stackoverflow #22

有关

所以,如果你没有验证信息......

如果我发现更多

,我会更新

答案 2 :(得分:0)

我遇到了同样的错误。好像JideFX已经死了。

改为使用ControlsFX验证。