Alterar CSS em tempo de execução

Salve, pessoal do GUJ.

Hoje venho com uma dúvida que está me assolando há meses. Alterar o style ou styleClass de um componente no ato da validação ou conversão. Ja tentei criar um custom component utilizando UIInput, mais não consegui, segui vários tutoriais na net, com ou sem renderer, configurei e nada apareceu ná minha página. Aí voltei para o validator abaixo, que tenta alterar o styleClass do componente, caso o mesmo não passe na validação. A mensagem de erro é exibida normalmente, mais o componente não muda. Aqui no fórum só recebi uma resposta, será que alguém poderia me ajudar???


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 || dao.findByUsername(String.valueOf(valorTela).toUpperCase()) != null) {
			
			//Não Funciona
			((HtmlInputText) component).setStyleClass("input_text_erro");
			
			((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 {
			
			//Não Funciona
			((HtmlInputText) component).setStyleClass("input_text");

			((UIInput) component).setValid(true);
			MBusuarios mbu = (MBusuarios) context.getELContext()
					.getELResolver().getValue(context.getELContext(), null,
							"MBusuarios");
			mbu.getUsuarios().setUsername(String.valueOf(valorTela));
		}

	}

}


//Meu inputText
             <h:inputText id="txt_username_pj"
	value="#{MBusuarios.usuarios.username}" required="true"
	requiredMessage="#{msg.required}">
	  <f:validator validatorId="validator.validatorUsername" />
	      <a4j:support event="onblur"  reRender="msg_username_pj1,msg_username_pj2" limitToList="true" />
            </h:inputText>