galera, estou usando a validação com annotations, mas ela não esta funcionando, alguem saberia me dizer o que ocorre, ele nem passa pela validação
classe action
privateStringcidade;@RegexFieldValidator(type=ValidatorType.FIELD,expression="[A-Za-z0-9\\s.]+",message="Nome da Cidade: Caracteres especiais não permitidos.")publicStringgetCidade(){returncidade;}publicvoidsetCidade(Stringcidade){this.cidade=cidade;}
Cara eu testei aqui e funcionou normalmente, você colocou a annotation Validation na sua action? Está utilizando algum interceptor?
paulofernandesjr
eu criei um interceptor meu
vou postar o struts.xml, o form e a classe java
struts.xml
<packagename="default"extends="struts-default"><interceptors><interceptorname="auth"class="exp.interceptor.AplicacaoInterceptor"/><interceptor-stackname="defaultAuthStack"><interceptor-refname="exception"/><interceptor-refname="alias"/><interceptor-refname="auth"/><!-- verificacao do login --><interceptor-refname="prepare"/><interceptor-refname="servlet-config"/><interceptor-refname="i18n"/><interceptor-refname="chain"/><interceptor-refname="model-driven"/><interceptor-refname="fileUpload"/><interceptor-refname="static-params"/><interceptor-refname="params"/><interceptor-refname="conversionError"/><interceptor-refname="validation"/><interceptor-refname="workflow"/></interceptor-stack></interceptors><default-interceptor-refname="defaultAuthStack"/></package>
@ValidationpublicclassUsuarioActionextendsActionSupportimplementsPreparable{privateStringcidade;@RegexFieldValidator(type=ValidatorType.FIELD,expression="[A-Za-z0-9\\s.]+",message="Nome da Cidade: Caracteres especiais não permitidos.")publicStringgetCidade(){returncidade;}publicvoidsetCidadel(Stringcidade){this.cidade=cidade;}}
latorre
Você precisa colocar o interceptor validation no mapeamento da sua action.
paulofernandesjr
como eu faço isso latorre
latorre
No seu struts.xml basta você colocar a tag na action que você quer validar. Não sei se é a melhor forma de contornar esse problema mas comigo resolveu. O que acontece é que quando você cria um interceptor o struts “desabilita” os interceptors dele.
paulofernandesjr
Eu fiz isso, mas ai ele posta como NULL todos os campos que não estão preenchidos e minha lista select num gera no prepare,
tem que existir outra forma de fazer
latorre
Cara já tentou colocar o defaultAuthStack na action?
paulofernandesjr
Sim mas não deu certo
Heitorh3
Cara estou com um problema parecido, quando crio o arquivo struts.xml a minha aplicação não carrega mais as paginas apresenta o erro HTTP Status 404 o que devo fazer para que tanto a validação quanto as paginas possam ser carregadas. fico grato se alguém puder me ajudar.