E ai pessoal, estou aqui numa luta com o WW (matando cada vez menos focas
), se eu conseguir essa validação aqui na empresa ninguém mais mata focas, eu prometo.
É o seguinte, preciso de validações simples, não estou utilizando forms, apenas links com parametros, só preciso que os parametros sejam obrigatórios e no formato numérico. Abaixo seguem os meus arquivos pertinentes a questão, resumindo, tenho um field na minha action chamado “culturaId”, esse campo será utilizado para uma pesquisa ele deve ser numérico e é um field obrigatório. O que está acontecendo é que se eu passar uma letra ou omitir o field na chamada da action me dá um stacktrace e não encaminha para o result “input” :?
ListProdutos-validation.xml
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
<validators>
<field name="culturaId">
<field-validator type="int">
<message>O campo culturaId deve ser um número inteiro</message>
</field-validator>
</field>
<field name="culturaId">
<field-validator type="required">
<message>O campo culturaId é obrigatório</message>
</field-validator>
</field>
</validators>
xwork.xml
...
<interceptors>
<interceptor-stack name="systemDefaultStack">
<interceptor-ref name="model-driven"/>
<interceptor-ref name="component"/>
<interceptor-ref name="validationWorkflowStack"/>
</interceptor-stack>
</interceptors>
...
<action
name="listProdutos"
class="br.com.coodetec.radar.comercial.controller.ww.action.ListProdutosAction">
<result
name="success"
type="velocity">produto0000.vm</result>
<result
name="error"
type="velocity">errorPage.vm</result>
<result
name="input"
type="velocity">errorPage.vm</result>
</action>
...
