Validação Formulario

Boa tarde,

Eu fiz uma validação de formulário, onde ele verifica através do evento $JQuery.on("blur", function(){}) se o que foi preenchido no campo está correto ou não, caso esteja correto ele coloca um check, caso contrario ficará com um X.

Quero saber se é possível desabilitar o botão movimentar caso haja campos com preenchimento incorreto.

Desde já agradeço.

Boa tarde,

Você poderia amarrar uma função no evento de clique do botão Enviar/Movimentar e nela validar se todos os campos estão OK.

Exemplo:


<script>
window.parent.$("#workflowActions").on("click", function(ev) { va(ev); });    
window.parent.$(".fixedTopBar").find("button").on("click", function(ev) { va(ev); });
function va(ev){
    // VALIDACOES AQUI

    // Se não validou, impede o evento padrão do botão:
    ev.stopImmediatePropagation();
    ev.stopPropagation();
    ev.preventDefault();
    return false;

}
</script>

Por meios convencionais não é possível (você sempre pode chamar o super da tela pelo JS e bloquear o botão baseado no name/id dele porque o JS deixa, mas não faça isso, por favor).

O ideal é usar esses eventinhos aqui no seu formulário: http://tdn.totvs.com/display/fluig/Eventos+Processos#EventosProcessos-beforeMovementOptions http://tdn.totvs.com/display/fluig/Eventos+Processos#EventosProcessos-beforeSendValidate

Eles são executados direto do seu formulário ainda na tela, antes de fazer as requisições de envio ao servidor.

Estou usando beforeSendValidate, resolveu meu problema! Muito obrigado.

Não localizei esse evento para incluir no Workflow ou no Formulário.

Foi desativado??

Bom dia Cássia, eu respondi o seu tópico: validar - beforeMovementOptions como incluir esse evento? com essa resposta

Boa tarde,

Você poderia usar dessa forma. Javascript do formulário:


var beforeSendValidate = function(numState,nextState){

    if (numState == 1) { // atividade 1
        if (campo1 == '') {
            throw("Campo1 precisa ser preenchido!");
        } else if (campo2 == '') {
            throw("Campo2 precisa ser preenchido!");
        }
    } else if (numState == 2) { // atividade 2
        if (campo3 == '') {
            throw("Campo3 precisa ser preenchido!");
        } else if (campo4 == '') {
            throw("Campo4 precisa ser preenchido!");
        }
    }
}