Pergunta

Eu tenho uma página com uma seleção de rádio com 3 opções e um InputTextAtea. Quando pressiono o botão Enviar na minha página, preciso fazer algumas validações ... para fazer isso, coloco um validador no rádio. O problema é que, quando o validador é executado, preciso dos valores do InputTextarea e do rádio, mas eles vêm com valores antigos, e não os que foram definidos na página antes do envio da página.

Exemplo: String.ValueOf (textAea.getValue ()). Equals ("" ")) quando é somado pela primeira vez, o código String.valueof (textareaocorrencia.getValue ()) é nulo, mas como a textária estava vazia, foi suposto ser uma corda vazia. Quando é submetido pela segunda vez, ele tem o valor do que deveria ter no 1º envio. Eu sei que isso tem algo a ver com o JSF Life Cicle, mas não sei como atualizar esses valores?

Desde já, obrigado...

Foi útil?

Solução

During the apply request values phase, the submitted values will be set and available as submittedValue. During the validations phase, the submitted values will be validated and converted and set as value. The components are validated in the top-bottom order as the components appear in the component tree.

Thus, if the component in question actually appears after the current component in the component tree, you'll need to get its value by UIInput#getSubmittedValue() instead of UIInput#getValue().

To learn more about the JSF lifecycle, you may find this self-practice article useful.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top