JSF :: como tratar campo data?

4 respostas
M

Salve, Galera!

Estou com um probleminha que deve ser simples, mas não estou conseguindo resolver:

Numa página de cadastro, tenho um campo data:

O atributo dataExpiracao da classe Usuario (@Entity - Hibernate) é do tipo Calendar:

@Column(nullable=true)
@Temporal(TemporalType.DATE)
private Calendar dataExpiracao;

Ok, no momento em que eu vou cadastrar um usuário, posso deixar esse campo sem preenchimento já que se trata de um campo não obrigatório, porém se eu não preencho este campo, tenho o seguinte erro:

“Base is null: .dataExpiracao”

Como resolvo isto?

4 Respostas

Anderson_Schmidt
 tentou sem aquele [b].time[/b] no final do seu [i]value[/i]?

 Ahh,
 @Column(nullable=true)  é padrão, não precisa declarar.

Flws!
Schmidt

M

Opa,

Bom, eu uso o .time pois a tag “convertDateTime” espera um valor do tipo Date (java.util.Date) e o atributo dataExpiracao é do tipo Calendar:

Quanto ao annotation, é verdade que não preciso indicar o “nullable=true”, porém fiz isso apenas por clareza da regra do atributo.

Grato,

Alguma outra dica?

Anderson_Schmidt
O uso da pattern está ok. Confesso que nunca testei com atributo tipo Calendar, sempre Date (e com <h:inputText>, não <t:inputText> ). Funciona 100%.

Tentaria mudar seu campo pra Date, só pra fazer o teste.
Pergunta boba, mas vou fazer: esse input está como "required=true"?

Flws!

M

E ae schmidt, obrigado pela atenção.

Bem, com o Date dá certo sim, já testei. Eu estava tentando com o Calendar porque é uma biblioteca mais nova e por recomendações gerais por aí.

Porém, se não tiver outro jeito, vou ter de mudar tudo para Date mesmo!

Quanto ao required, não estou usando nas tags não, pelo menos nesta página, estou fazendo este tratamento no managedBean mesmo.

[]´s

Criado 17 de abril de 2007
Ultima resposta 17 de abr. de 2007
Respostas 4
Participantes 2