Webwork DefaultTypeConverter DateConverter

3 respostas
D

Ola pessoal, estou desenvolvendo um aplicação webwork e estou querendo validar data utilizando um DateConverter

estou utilizando o seguinte codigo para o DateConverter:

public class DateConverter extends DefaultTypeConverter {
 
    private static final Logger log = Logger.getLogger(DateConverter.class);
    
    private String pattern = "dd/MM/yyyy";
    
    private Date parse(Object object) {
      DateFormat sdf = new SimpleDateFormat(pattern);
      Date d = null;
      try {
        sdf.setLenient(false);
        d = sdf.parse((String) object);
      } catch (ParseException e) {
          if ( log.isDebugEnabled() ) {
              log.debug("DateConverter - [parse]: Exception catched when parsing - " + e.getMessage());
          }
          throw new RuntimeException(e);
      }
      return d;
    }
    
	public Object convertValue( Map map, Object object, Class aClass ) {
        Object o = null;
        if ( object instanceof Object[] ) {
            if ( ( (Object[]) object ).length > 0 ) {
                o = ( (Object[]) object )[0];
            }
        } else {
            o = object;
        }
 
		if ( aClass == java.util.Date.class ) {
			return parse(o);
 		} else {
            //to String
            DateFormat sdf = new SimpleDateFormat(pattern);
			return sdf.format(object);
		}
	}
 
    public Object convertValue( Map map, Object o, Member member, String s, Object o1, Class aClass ) {
        return this.convertValue(map, o1, aClass);
    }
 
}

Estou adicionando a seguinte linha no xwork-conversion.properties
java.util.Date=com.yourpackage.DateConverter

O conversor funciona corretamente. se eu digito qualquer coisa que nao seja uma data valida ele limpa o campo. Para mim, não basta que o DateConverter faça a validação do campo. Gostaria que ele tambem mostrasse uma mensagem de erro para o usuario.

Alguem sabe como eu faço isso?

Flavio Oliva

3 Respostas

smota

Type Conversion Error Handling

Basicamente você deixa a exception ser lançada fora do converter e configura a mensagem e o webwork direitim, moleza!

D

smota:
Type Conversion Error Handling

Basicamente você deixa a exception ser lançada fora do converter e configura a mensagem e o webwork direitim, moleza!

Ja fez isso? tem como voce me mostrar? =D

smota

Vc leu a documentação do link da mensagem anterior?

fiz isso exatamente como está escrito lá … colocando a chave no arquivo de mensagens (localização) e aplicando o conversionError interceptor na minha stack.

Criado 5 de maio de 2005
Ultima resposta 5 de mai. de 2005
Respostas 3
Participantes 2