Pessoal, boa tarde!
Existe a opção de "Transferir" a solicitação para um outro usuário do grupo/papel e/ou "Salvar" a solicitação apenas.
Em ambos os casos, o evento ValidateForm é executado.
Existe alguma forma de "anular" essa validação nesses casos (validar, de fato, somente caso o usuário clique em "Enviar")?
Obrigada.
Renata, bom dia. fiz algo parecido e no validateForm fiz “if (getValue(“WKNextState”) == 11){ então valido }”. se a próxima atividade for x, é pq avancou, ai valido.
Otto, boa tarde! Aqui não funcionou… Ele sempre retorna uma próxima atividade! Gostaria de verificar SOMENTE caso o usuário clique em “Enviar”. Obrigada de qualquer forma! =)
Renata,
Você pode usar também a nova função de validação beforeSendValidate
var beforeSendValidate = (numState, nextState) =>{
console.log("-beforeSendValidate-");
console.log("numState: " + numState);
console.log("nextState: " + nextState);
throw("Erro Xyz");
}
Essa função executa somente quando o usuário clica em enviar, onde o processo sai da atividade atual e vai para a próxima. Documentação:
Before Send Validate
O legal dessa função é que ela executa somente em processos e após o usuário ter escolhido a atividade destino e o usuário que irá receber ela.
Pedro, boa tarde! tentei utilizar essa nova função, porém foi retornado o seguinte erro no console do navegador:
Uncaught TypeError: b.replace is not a function
Sabe o que pode ser?
Obrigada!
Renata, consegue colocar todo o log do console?
Eu reparei que declarei a função de forma errada… tenta com a nova edição para ver se vai…
Coloque a função que retorna o número da próxima atividade
EXEMPLO:
ATIVIDADE ATUAL = 5 |
PROXIMA ATIVIDADE = 9
function validateForm(form){
var activity = getValue('WKNumState');
var next_activity = getValue("WKNextState");
if (activity == 5 && next_activity == 9) {
if (form.getValue('campoValidar') == '') {
throw (" O campo 'campoValidar' não foi preenchido\n");
}
}
}
Dessa maneira só será validado ao clicar em ENVIAR.