ウィケット 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);
}
}
Registation.html および .java ファイルが存在する同じパッケージに、Registration.properites ファイルがあります。私の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/