我正在使用 wickets 1.5。我有注册页面,其中的文件必须仅验证数字(如电话号码)。我有一个验证类如下
public class Validator implements IValidator<String> {
Pattern pattern;
public Validator() {
pattern = Pattern.compile("[0-9]+");
}
public void validate(IValidatable<String> validatable) {
final String field = validatable.getValue();
if (pattern.matcher(field).matches() == false) {
error(validatable, "phoneno" );
}
}
private void error(IValidatable<String> validatable, String errorKey) {
ValidationError error = new ValidationError();
error.addMessageKey(getClass().getSimpleName() + "." + errorKey);
validatable.error(error);
}
}
我的 Registration.properites 文件与 Registation.html 和 .java 文件位于同一个包中。我的Registration.properites是
Registration.phoneno= 请只输入数字
我在我的检票口类
phoneno.add(new Validator());
我得到以下错误
找不到组件的错误消息:TextField@sendform:phoneno 和错误:[ValidationError message=[null],keys=[Validator.phoneno],variables=[null]]。尝试过的键:phoneno.Validator.phoneno、Validator.phoneno。
我做错了什么?我已经按照下面的链接 http://www.mkyong.com/wicket/create-custom-validator-in-wicket/