Struts ActionMessages

5 respostas
S
Pessoal tenho um form de validacao q verifica os erros q podem ocorrer no preenchimento do form. Como faço pra ver apartir do Action os erros q deram. Por exemplo na classe do form:
public ActionErrors validate( ActionMapping mapping, HttpServletRequest request ) {
        ActionErrors errors = new ActionErrors();

        final String matricula = getContrato().getMatricula();
        if( StringUtils.isBlank( matricula ) ) {
            errors.add( "contrato", new ActionMessage( "campo.obrigatorio", "Contrato" ) );
        } else if ( !StringUtils.isNumeric( matricula ) ) {
            errors.add( "contrato", new ActionMessage( "campo.invalido", "Contrato" ) );
        }
        
        final String codigo = getRubrica().getCodigo();
        if( StringUtils.isBlank( codigo ) ) {
            errors.add( "rubrica", new ActionMessage( "campo.obrigatorio", "Rubrica" ) );
        } else if ( !StringUtils.isNumeric( codigo ) ) {
            errors.add( "rubrica", new ActionMessage( "campo.invalido", "Rubrica" ) );
        }

        if( StringUtils.isBlank( getAno() ) ) {
            errors.add( "ano", new ActionMessage( "campo.obrigatorio", "Ano" ) );
        } else if( !StringUtils.isNumeric( getAno().trim() ) ) {
            errors.add( "ano", new ActionMessage( "campo.invalido", "Ano" ) );
        } else if( getAno().length() != 4 ) {
            errors.add( "ano", new ActionMessage( "campo.minimo.caracteres", "Ano", "4" ) );
        }

        if( StringUtils.isBlank( getMes() ) ) {
            errors.add( "mes", new ActionMessage( "campo.obrigatorio", "Mês" ) );
        } else if( !StringUtils.isNumeric( getMes().trim() ) ) {
            errors.add( "mes", new ActionMessage( "campo.invalido", "Mês" ) );
        }

        return errors;
	}

E agora como faço pra ver no Action quais os erros q aconteceram.

[ ]'s

5 Respostas

Mauricio_Linhares

Os erros não chegam no Action, quando o form é validado com erros ele simplesmente volta.

passos

A validação do form acontece antes da execução do action. Caso ocorra algum erro na validação do seu form ele direciona a requisição para o seu atributo input

S

Naum pessoal, eh o seguinte coloquei validate como false. Eu valido apartir do Action. Fiz isso pq preciso setar algumas coisas na requisição.
Permanece a dúvida… Se alguém puder me ajudar.
[ ]'s

Mauricio_Linhares

Se você está chamando “validate” então os ActionErros estão voltando pra você.

S

Pois eh cara, o q eu quero saber eh como eu pego cada erro de um objeto ActionMessages detendo esse objeto.
EX: Iterator i = errors.get(); while(i.hashNext()){ naum sei q objeto eh esse = i.next(); }

A dúvida eh bem básica cara…
Valeu pela ajuda…

Criado 14 de julho de 2005
Ultima resposta 15 de jul. de 2005
Respostas 5
Participantes 3