Validação, Conversão e estado do componente

Salve pessoal do GUJ, Boa Tarde!

Minhá dúvida deve ter uma resposta simples, porém já googlei em tudo que foi canto, sem sucesso.
Vamos lá! Como faço para alterar a cor de fundo e da borda de um componente input JSF na validação sem ser com JavaScript ou Ajax? Preciso que isso seja feito dentro do Validator/Converter!!! Teria que ser no meu código java de validalção/converção. Alguém pode me socorrer?

meu amigo, vc pode fazer o seguinte:

1 - o objeto do input deve começar diferente de null, tipo se for um nome de contato ele deve iniciar “”
2 - ai vc cria dois estilos para o componente, css mesmo e lá no styleClass vc verifica, se ele for null é pq gerou uma excessão e vc mostra um estilo, caso contrario …


<h:inputText id="nomeOperador" value="#{acaoCliente.operador.nome}" maxlength="40" styleClass="#{acaoCliente.operador.nome == null ? 'obrigatorio' : 'ok' }" title="Nome do Operador" />

tenta isto ai

desculpe minha ignorância, mas como ficaria o código css? nunca fiz desta forma!!

Cara não funcionou, não. Fiz assim :
1: criei as duas classes css - ‘input_text_erro’ ‘input_text’


<h:inputText required="true" requiredMessage="#{msg.required}"
			id="txt_username_pf" [b]styleClass="#{MBusuarios.usuarios.username ==     null ? 'input_text_erro' : 'input_text' }"[/b]			value="#{MBusuarios.usuarios.username}">
			<f:validator validatorId="validator.validatorUsername" />
			<a4j:support event="onblur"
				reRender="txt_username_pf,msg_username_pf1,msg_username_pf2,painel" limitToList="true" />
		</h:inputText>

// meu validator

public class validatorUsername implements Validator {

	@Override
	public void validate(FacesContext context, UIComponent component,
			Object valorTela) throws ValidatorException {
		FacesMessage message = new FacesMessage();
		UsuariosDao dao = new UsuariosDao();
			
		if (dao.findByUsername(String.valueOf(valorTela)) != null) {
				           
			((UIInput) component).setValid(false);
			message.setSeverity(FacesMessage.SEVERITY_ERROR);
			message.setDetail(ResourceBundle.getBundle(
					FacesContext.getCurrentInstance().getApplication()
							.getMessageBundle()).getString(
					"erro.validacao.username"));
			message.setSummary(ResourceBundle.getBundle(
					FacesContext.getCurrentInstance().getApplication()
							.getMessageBundle()).getString(
					"erro.validacao.username"));
			
			throw new ValidatorException(message);
		} else {
			((UIInput) component).setValid(true);
			
		}

	}

}