[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Duvida sobre validacao...  XML
Forum Index -> Comentários Gerais
Author Message
xfchf



Joined: 26/03/2006 10:41:02
Messages: 3
Offline

Sou novato em java e no menta.
Em um dos formularios de uma aplicacao que estou escrevendo, um certo campo NÃO é obrigatório, mas se ele estiver preenchido deve dar um match numa certa expressão regular. Não quero criar uma nova regra só pra isso, quero verificar no input se o campo é "" e só aplicar a RegexRule() se estiver preenchido.
O problema é que não consigo acessar o input do meu filtro (que extende ValidationFilter). podem me ajudar?
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Não tem mistério. É só vc não colocar o RequiredFieldRule. Todos os rules do mentawai por default não exigem que o campo seja obrigatório, isto é, ele só validará se o campo estiver presente.

Apenas por questão de exemplo, para pegar o input dentro de um ValidationFilter, vc pode fazer assim:

Code:
 
 private Input input;
 
 public String filter(InvocationChain chain) {
 
     this.input = chain.getAction().getInput();
 
     super.filter(chain);
 
 }
 
 


Sergio Oliveira

xfchf



Joined: 26/03/2006 10:41:02
Messages: 3
Offline

vlw
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Pensando melhor falei besteira.

O meu código não vai funcionar!

Seu filtro deve ser thread-safe, pois será acessado por vários requests simultaneamente.

Logo se vc quer fazer alguma coisa com o input da action, vc precisa faze-lo dentro do método filter. Não se deve, em hipotese nenhuma fazer como eu fiz, ou seja, salvar o input como um data member do objeto.

Code:
 
 public String filter(InvocationChain chain) {
 
    Input input = chain.getAction().getInput();
 
    // faça aqui alguma coisa com o input...
 
    return filter.invoke();
 }
 


Sergio Oliveira

 
Forum Index -> Comentários Gerais
Go to:   
Powered by JForum 2.1.6 © JForum Team