PEssoall, tenho umas duvidas !!
quando eu passo um campo “property” no validation, se eu precisar passar um argumento, como devo fazer ? Quero que um campo somente seja reuerido se outro campo for preenchido ! como eu devo fazer ??
valew
PEssoall, tenho umas duvidas !!
quando eu passo um campo “property” no validation, se eu precisar passar um argumento, como devo fazer ? Quero que um campo somente seja reuerido se outro campo for preenchido ! como eu devo fazer ??
valew
A regra de validação para o que você quer é a validwhen.
Você terá que fazer assim:
<field property="campo1" depends="">
<arg key="ChaveMessageResourcesParaCampo1" />
</field>
<field property="campo2" depends="validwhen">
<arg key="ChaveMessageResourcesParaCampo2" />
<var>
<var-name>test</var-name>
<var-value>
( (campo1 != null) or (*this* != null) )
</var-value>
</var>
</field>
Mas e quando campo é requirido e precisa ter 15 digitos ! As condições sao as mesmas ??
Nao funcionou !!! Passei da seguinte maneira !!
<field property="pesquisaRazaoSocial" depends="">
<arg key="label.razaoSocial" />
</field>
<field property="raizCnpjCpf" depends="validwhen, mask">
<arg0 key="label.cnpjCpf" />
<var>
<var-name>test</var-name>
<var-value> ((pesquisaRazaoSocial != null) or (*this* != null) ) </var-value>
</var>
<var>
<var-name>mask</var-name>
<var-value>^[0-15]{9,9}$</var-value>
</var>
</field>
O que esta errado !
Valew
Isso mesmo:
http://struts.apache.org/struts-doc-1.2.9/userGuide/dev_validator.html
requiredif - field dependant validator
Deprecated, use validwhen.
A regra requiredif foi descontinuada pelo Struts. A documentação pede que você a substitua pelo validwhen. O Struts só mantem a regra requiredif funcionando para compatibilidade com sistemas já codificados anteriormente.
Tente fazer assim:
<field property="pesquisaRazaoSocial" depends="">
<arg key="label.razaoSocial" />
</field>
<field property="raizCnpjCpf" depends="validwhen, maxlength">
<arg0 key="label.cnpjCpf" />
<arg1 name="maxlength" key="${var:maxlength}" resource="false" />
<var>
<var-name>test</var-name>
<var-value>
( ( (*this* == null) and (pesquisaRazaoSocial != "") ) or ( (*this* != null) and (pesquisaRazaoSocial == "") ) )
</var-value>
</var>
<var>
<var-name>maxlength</var-name>
<var-value>15</var-value>
</var>
</field>
Cara, nao esta funcionando !! ele fica pedindo para digitar o CNPJ e quando eu digito, ele nao sai do lugar, fica pedindo e nada mais !!!
O que pode ser ??
Estou pasando os properties corretos !