Bom dia pessoal.
Venho mais uma vez, em busca de vossa ajuda.
Estou com um problema com o uso do validwhen, para validar alguns parametros de um form. O problema é o seguinte :
No form em questão, eu tenho 2 combos (Mes inicial e Mes final), cada um deles com values de 0 a 12, sendo que o label do 0 é “Selecione…” e de 1 a 12, são os meses de janeiro a dezembro.
A regra é que, eu tenho que obrigar a seleção dos meses, e não posso permitir que o mes inicial seja maior que mes final e nem que mes final seja menor que inicial, porém eles podem ser iguais desde que maiores que zero.
A parte do XML que se refere a essas validções é :
<field property="mesInicial" depends="validwhenNivelMin">
<arg0 key="Mês inicial" resource="false"/>
<arg1 key="Mês final" resource="false"/>
<var>
<var-name>test</var-name>
<var-value>(*this* < mesFinal)</var-value>
</var>
</field>
<field property="mesInicial" depends="validwhenMesNaoSelecionado">
<arg0 key="Mês inicial" resource="false"/>
<var>
<var-name>test</var-name>
<var-value>(*this* != 0)</var-value>
</var>
</field>
<field property="mesFinal" depends="validwhenNivelMax">
<arg0 key="Mês final" resource="false"/>
<arg1 key="Mês inicial" resource="false"/>
<var>
<var-name>test</var-name>
<var-value>(*this* > mesInicial)</var-value>
</var>
</field>
<field property="mesFinal" depends="validwhenMesNaoSelecionado">
<arg0 key="Mês final" resource="false"/>
<var>
<var-name>test</var-name>
<var-value>(*this* != 0)</var-value>
</var>
</field>
O problema é que quando eu submeto o formulario, por exemplo, se escolho janeiro e janeiro, ele está validando como se o mes inicial fosse maior que o final, e se eu submeto os dois com “Selecione…”, ele faz o mesmo, e não faz a validação de o campos serem iguais a zero.
Eu não sei se fiz algo errado, ou se não entendi como funciona o validwhen.
Se alguem já teve algum problema semelhante a esse, e descobriu a solução, por favor, me ajude.
Desde já agreço.
Ronaldo.