2012-07-27 78 views
1

我正在使用wickets 1.5.I有注册页面,其中fileds必须仅针对数字进行验证(如电话号码)。我有一个验证类,如下在wicket中添加.properties文件

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(新的验证());

我正在下面误差

未能找到部件错误消息:的TextField @ sendform:PHONENO和错误:[ValidationError消息= [零],键= [Validator.phoneno],变量= [空值]]。试过的钥匙:phoneno.Validator.phoneno,Validator.phoneno。

我做错了什么? 我按照以下链接做了这个链接 http://www.mkyong.com/wicket/create-custom-validator-in-wicket/

回答

2

我想你没有正确指定属性键。当您的密钥以'注册'开始时,getClass().getSimpleName()方法返回“验证器”。试试这个:

error.addMessageKey("Registration.phoneno"); 
相关问题