Tenho uma página com 3 campos, apenas 1 pode ser preenchido, como eu faço isso usando o validation do struts? Qual validador eu devo usar?
Olá,
Se você sabe de antemão quais campos não podem ser editados, basta você definir o parâmetro disabled como true, na tag html:text
Na definição do formset, você pode definir os campos do formulário da seguinte forma:
<field property="nome" depends="required,maxlength">
<arg0 key="form.nome"/>
<arg1 name="maxlength" key="${var:maxlength}" resource="false"/>
<var>
<var-name>maxlength</var-name>
<var-value>50</var-value>
</var>
</field>
<field property="cpf"/>
Onde o campo cpf seria o seu campo definido como disabled no formulário.
Espero ter ajudado.
Então, o problema é justamente que o usuário tem os 3 campos na tela dispóniveis para digitação, mas se ele digitar em um não poderá digitar nos outros, eu sei que da pra fazer isso facilmente com javascript, controlando pelo evento “onBlur”, mas queria fazer com o validation pra ficar padronizado, se é que é possivel!
O validwhen parece ser realmente a melhor opção para a validação do formulário pelo Struts. Mas no seu caso, parece que o problema se dá no preenchimento do formulário. Nesse caso, acho que só mesmo JavaScript vai resolver.