Pergunta

Estou tendo um pequeno problema com o uso de expressão condicional avaliada em jsf / a4j

Aqui está o meu código

<a4j:form>
         <h:inputText id="id1" value="#{mybean.myvalue}" size="1"
                   required="#{not mybean.condition}"
                   rendered="#{not mybean.condition}"
                   requiredMessage="Put a number in here" />

           <h:selectBooleanCheckbox value="#{mybean.condition}">
                <a4j:support event="onclick" reRender="id1"/>
            </h:selectBooleanCheckbox>

<a4j:commandButton action="#{mybean.myaction}" value="Do something" />

 </a4j:form>

A caixa de seleção booleana condicionalmente habilitar / desabilitar a validação.

Isso não funciona: o a4j:. CommandButton simplesmente ignorar a validação

Graças.

Foi útil?

Solução

Se o inputText falha de validação (Processo fase de validações), então o valor mybean.condition não será atualizado (fase Atualizações Processo). Como o campo de texto utiliza a necessário atributo, isso é bastante provável.

Ciclo de Vida do doc RichFaces:

text alt
(fonte: jboss.org )

Se qualquer fase JSF falhar, os saltos de ciclo de vida para Render Response para evitar a operar na entrada inválida. Você pode usar o h: mensagem e h: mensagens marcas a vista relatados erros (embora porque você está usando AJAX, você terá que colocá-los em algo que vai ser re-processado.

Eu estou supondo que se você definir o ajaxSingle atributo no AJ4: apoio tag, você deseja obter o comportamento desejado. A documentação diz que isto só irá enviar o valor para o controle, de modo que o campo de texto não será envolvido no Aplicar pedir valores / processo atualiza validações / Processo fases.

Outras dicas

O que é o escopo da mybean? Se é escopo da solicitação, em seguida, seu valor será reposto quando você clica no botão e o campo de entrada pode ser processado em tudo (se tornado resolve a 'falso').

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