是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();
}
//...
}
答案 0 :(得分:2)
答案 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验证。