javasf@googlegroups.com
[Top] [All Lists]

[javasf] Re: Injetar Objetos no Validator

Subject: [javasf] Re: Injetar Objetos no Validator
From: Torquato Neto
Date: Mon, 8 Nov 2010 03:58:04 -0800 PST
Realmente se colocar o managedBean para implementar o validator, a
injeção vai funcionar, mas imagine se você tiver uma validação comum a
várias telas, você iria copiar o código da validação em cada tela ?
Era por isso que tentei injetar o repositório no validator.
Desculpa colocar mais uma pergunta, mas caso eu precise utilizar um
valor de um atributo do meu managedBean no validator ( Considerando
que meu managedBean implemente o validador ), já que a validação e a
configuração dos atributos do managedBean são feitos em fases
diferentes, tem como utilizar ?


On 8 nov, 00:46, Bruno Maomeh <brunomao...@xxxxxxxxx> wrote:
> sinceramente eu nunca tentei algo parecido..
> mas você pode criar um validator dentro do seu managedBean e injetar essa
> sua dependencia nele..
> isso se for um caso unico claro..
>
> 2010/11/7 Torquato Neto <torquat...@xxxxxxxxx>
>
>
>
>
>
>
>
>
>
> > Pessoal,
>
> > Estou usando spring para injeção de dependência e não consegui injetar
> > um repository em um validator.
>
> > ex:
>
> > @FacesValidator(value = "userExistValidator")
> > public class UserExistValidator implements Validator {
>
> >        @ManagedProperty(value = "#{userRepository}")
> >        private UserRepository userRepository;
>
> >        @Override
> >        public void validate(FacesContext arg0, UIComponent uiComponent,
> >                        Object value) throws ValidatorException {
> >                String username = String.valueOf(value).trim();
>
> >                List<String> userNames = userRepository.getUserNames();
>
> >                if (userNames.contains(username)) {
> >                        FacesMessage message = new FacesMessage();
> >                        message.setSeverity(FacesMessage.SEVERITY_ERROR);
>
> >  message.setSummary(ResourceBundle.getBundle("messages").getString(
> >                                        "userCodeExistErro"));
> >                        throw new ValidatorException(message);
> >                }
> >        }
>
> >         public void setUserRepository(UserRepository userRepository)
> > {
> >                this.userRepository = userRepository;
> >        }
>
> >        public UserRepository getUserRepository() {
> >                return userRepository;
> >        }
>
> > }
>
> > Só consegui passando o repository como atributo no componente de
> > interface e recuperando no validator. Não tem como injetar nada em
> > validators e conveters ???
>
> > --
> > Você recebeu esta mensagem por que é membro do  Javasf
> >http://groups.google.com/group/javasf
>
> > Conheça também o Java Brazil:http://groups.google.com/group/thejavabrazil
>
> --
> Bruno Maomeh
>    http://brunomaomeh.wordpress.com

-- 
Você recebeu esta mensagem por que é membro do  Javasf
http://groups.google.com/group/javasf

Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

<Prev in Thread] Current Thread [Next in Thread>