我有一个整数字段,当我输入一个非整数值(让我们说一个符号)时,应该使用默认消息自动触发反馈面板,但它不起作用,我必须在onError方法中调用它形式方法错误()。
这是textField,我使用:
RequiredTextField<Integer> intField =
new RequiredTextField<>("intValue", integerValue,Integer.class);
这是我简单的FeedBackPanel:
fragment.add(new FeedbackPanel("feedback"));
只有当我在窗体的onError()方法中调用方法error()时,它才有效。
答案 0 :(得分:0)
您能否告诉我们您如何创建表单以及您使用的模型?据我所知,您需要将模型绑定到Fields。我最好的猜测是你的模型没有属性“ intValue ”。
您可能想(重新)访问Wicket Wiki "More on Models"。
答案 1 :(得分:0)
我不确定你是如何设置模型的。添加RequiredTextField
后,它将不允许您清空,因为您设置了Integer
类型,所以不允许输入字符。
我尝试了一些完美且有效的代码片段。
HomePage.html
<html xmlns:wicket="http://wicket.apache.org">
<body>
<form wicket:id="someForm">
<div wicket:id="feedback"></div>
<input type="text" wicket:id="requiredText">
<input type="submit" value="submit">
</form>
</body>
</html>
HomePage.Java
public class HomePage extends WebPage {
private static final long serialVersionUID = 1L;
public HomePage(final PageParameters parameters) {
super(parameters);
Form form = new Form("someForm");
form.add(new FeedbackPanel("feedback"));
IModel integerValue= Model.of("");
form.add(new RequiredTextField("requiredText",integerValue,Integer.class));
add(form);
}
}
如果您有任何需要,请让我在这个问题上回复我。