ValidadeForm.js - É possível customizar a forma que mostra a mensagem de erro?

Hoje realizo todas as minhas verificações e vou salvando em uma variável texto (exemplo msg).

Ao final verifico se ela está em branco, caso contrário faço da seguinte maneira:

if (msg != "") {

throw "Existem Campos não preenchidos no Trajeto : "+msg;

}

É possível personalizar a forma que o FLUIG mostra? Pois o cliente reclamou que fica ruim de visualizar os erros (quando existem muitos por exemplo)

O nível de customização que consegue é colocar tags html e nela vc pode utilizar as classes para customizar no modal onde aparece a mensagem, segue exemplo colocando o nome do campo em negrito.


throw "O campo de <strong>Descrição</strong> precisa ser preenchido.";

A partir da versão 1.5.10 não é mais recomendado a utilização de tags em throw em eventos customizados! Para usar tags nas mensagens deve ser utilizado as validações via js do formulário!

É possivel customizar as mensagens de erro vinda do servidor. É um pouco engenhoso mas da certo.

Quando o fluig lança a mensagem de erro por exemplo como "Throw", ele cria um novo elemento no body (lado client), esse elemento novo é o modal que aparece aquela mensagem de erro padrão.

Com o MutationObserver do JavaScript, é possivel observar o elemento body, e verificar quando esse modal é criado, e edita-lo da maneira que preferir.


var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;

var observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {
        if (mutation.type == 'childList') {
            if (parent.$(".container-modal > .modal > .modal-dialog >.modal-content > .modal-header > .modal-title").length > 0 && 
                        parent.$(".container-modal > .modal > .modal-dialog >.modal-content > .modal-body > .message").html().includes("MESSAGE NF ANEXO")){

                parent.$(".container-modal > .modal > .modal-dialog >.modal-content > .modal-body > .message").html("<strong>Nota Fiscal de Serviço não foi anexada.</strong>");
                parent.$(".container-modal > .modal > .modal-dialog >.modal-content > .modal-header > .modal-title").html("Alerta");
                parent.$(".container-modal > .modal > .modal-dialog >.modal-content > .modal-body > a").html("");
            }
        }
    });
});

observer.observe(parent.document.body, { childList: true });

Esse código faz a verificação se o modal foi criado, e depois verifica se o modal contém o "MESSAGE NF ANEXO". Essa String é como se fosse meu ID do lado do servidor, pra eu identificar qual mensagem irei mostrar e como eu vou editar meu modal. Depois eu passo as instruções de alteração do modal.

Do lado do servidor quando você for lançar o Throw, você irá lançar o ID que está verificando. Assim:


throw ("MESSAGE NF ANEXO");

Espero que essa informação ajude.