Como descobrir se a execução é via mobile em um validadeForm de um formulário

Prezados, bom dia.

Preciso fazer uma validação no validadeForm para saber se a execução esta sendo via mobile ou não, porem, o if não esta funcionando.

exemplo:



var mobile = getValue("WKMobile");
//log.info("[OTTO] mobile: " + mobile);
if ((mobile != null) && (mobile == true)){
    throw "via celular";
} else {
    throw mensagem;
}

Resultado do log: INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-10) [OTTO] mobile: null[0m

1 curtida

Bom dia @Otto,

Na verdade ele não está dando erro, é só uma mensagem do tipo "INFO". O que ocorre é que sempre que você usar throw a aplicação irá parar.

Se você fizer dessa forma abaixo, o que irá aparecer no log?

Nos eventos do processo você utiliza assim:


var mobile = getValue("WKMobile");
//log.info("[OTTO] mobile: " + mobile);
if ((mobile != null) && (mobile == true)){
    log.info("#### [OTTO] CELULAR");
    throw "via celular";
} else {
    log.info("#### [OTTO]DESKTOP");
    throw "via desktop";
}

Nos eventos do formulário você utiliza assim:


if (form.getMobile() != null && form.getMobile()) {
    log.info("#### [OTTO] CELULAR");
    throw "via celular";
} else {
    log.info("#### [OTTO]DESKTOP");
    throw "via desktop";
}

Olá Gabriel, obrigado por responder. a variavel mobile sempre fica null quando executada via desktop/mobile. o resultado do log é sempre desktop conforme o código acima.

Dei uma olhada aqui e dessa forma que utilizou seria nos eventos do processo, nos eventos do formulários você pode utilizar dessa forma…vou adicionar na minha resposta.

Coloquei na minha resposta as duas formas

Olá Gabriel, perfeito. Funcionou. Obrigado pela ajuda.

1 curtida