JSF h:selectOneMenu com erro "Erro de validação: o valor não é válido"

Olá, eu tenho uma página JSF que tem um combo box h:selectOneMenu, seu itens são preenchidos por um f:selectItems e alguns f:selectItem, como no exemplo, o value do combo box é um atributo String e o value do f:selectItems é um ArrayList de String. O meu problema acontece quando eu rodo a aplicação, seleciono um valor no combo box, este valor faz parte da lista do f:selectItems, ai clico no botão para fazer a consulta no banco, na primeira vez que clico no botão aparece esse erro “formPesquisaProposicao:j_idt30: Erro de validação: o valor não é válido”, mas quando eu clico de novo no botão, funciona sem aparecer este o erro, ou seja este erro aparece sempre na primeira vez que eu clico e tem que ser um valor que que faz parte do f:selectItems, pois se for de um f:selectItem ele funciona normal também.

Já procurei e implementei no em outros combo boxes o conversor e talz, que tem que sobrescrever os métodos equal e hashCode das minhas entidades, mais como agora estou trabalhando com uma lista de String para preencher o combo box, não tenho como sobrescrever estes métodos.

Sei que não fui muito claro, mais espero que alguém possa me ajudar :).

Exemplo:

<h:outputLabel value="Autoria:"/> <h:selectOneMenu value="#{mBPesquisaProposicao.autor}"> <f:selectItem itemLabel="" itemValue=""/> <f:selectItem itemLabel="PREFEITO(A) MUNICIPAL" itemValue="PREFEIT"/> <f:selectItem itemLabel="MESA DIRETORA" itemValue="MESA DIRETORA"/> <f:selectItem itemLabel="TODOS OS VEREADORES" itemValue="TODOS VEREADORES"/> <f:selectItem itemLabel="MAIORIA DOS VEREADORES" itemValue="MAIORIA VEREADORES"/> <f:selectItems value="#{mBPesquisaProposicao.listaAutor}" var="autor" itemLabel="#{autor}" itemValue="#{autor}"/> </h:selectOneMenu>

Oras, mas o atributo autor da classe MBPesquisaProposicao é uma String?

Sim o atributo autor é uma String, esta funcionando normalmente, porém na primeira vez aparece a mensagem de erro… Estou começando achar que é problema na versão do servidor de aplicação, no caso o Glassfish, pois em outro computador com o Glassfish em outra versão, não acontece esse erro.

Eu sei isso é foi infantil da minha parte, mesmo assim obrigado pela resposta.

Uma das fases do ciclo de vida do JSF faz a validação do tipo de dados. Se não fosse uma String, então haveria a mensagem de erro. Claro que tipos numéricos (Integer, Long, Float, Double) são automaticamente convertidos, mas, quando não, é preciso criar um converter.