Evento beforeSendValidate

Pessoal,

preciso usar o beforeSendValidate, e estou utiizando desta forma:

	var beforeSendValidate = function(numState,nextState){
  		   
		   
  		    if(numState == 4){
		    	
		    	var colaborador = $('[name="rd_colaborador"]:checked').val();
		    	var supervisor = $('#txt_supervisorEstagio').text();
		    	var origemVaga = $('[name="rd_origemVaga"]:checked').val();
		    	
		    	
		    	if (colaborador == undefined){
			    		FLUIGC.toast({
			    			title: 'Atenção:',
			    			message: 'Informe qual a função do colaborador que será Contratado!',
			    			type: 'warning'			    			
			    		}); 
			    return false;
			    		
			    }

Se eu deixar da forma acima, ele funcionar, porém, se eu colocar um segundo IF, ele não funciona mais tipo:

var beforeSendValidate = function(numState,nextState){

  		    if(numState == 4){
		    	
		    	var colaborador = $('[name="rd_colaborador"]:checked').val();
		    	var supervisor = $('#txt_supervisorEstagio').text();
		    	var origemVaga = $('[name="rd_origemVaga"]:checked').val();
		    	
		    	
		    	if (colaborador == undefined){
			    		FLUIGC.toast({
			    			title: 'Atenção:',
			    			message: 'Informe qual a função do colaborador que será Contratado!',
			    			type: 'warning'			    			
			    		}); 
			    return false;
			    		
			    }
                   if(numState == 17){
                     console.log('Faça algo');
      }

}

Se eu colocar desta forma, não funciona!

o seu segundo if não pode estar dentro do primeiro if, pois nunca executará mesmo.

var beforeSendValidate = function(numState,nextState) {
	if (numState == 4) {	    	
		var colaborador = $('[name="rd_colaborador"]:checked').val();
		var supervisor = $('#txt_supervisorEstagio').text();
		var origemVaga = $('[name="rd_origemVaga"]:checked').val();

		if (colaborador == undefined) {
			FLUIGC.toast({
				title: 'Atenção:',
				message: 'Informe qual a função do colaborador que será Contratado!',
				type: 'warning'			    			
			});
			
			return false;
		}
	}
	
	if (numState == 17) {
		console.log('Faça algo');
	}
}
1 curtida

Bruno bom dia,

Veja o meu código completo. Não consigo ver, onde o meu segundo if está dentro do primeiro:

      <script>				
		
		var beforeSendValidate = function(numState,nextState){
  		   
			console.log('Tarefa Atual ' +numState);
			console.log('Próxima Tarefa ' +nextState);
		   
  		    if(numState == 4){
		    	
		    	var colaborador = $('[name="rd_colaborador"]:checked').val();
		    	var supervisor = $('#txt_supervisorEstagio').text();
		    	var origemVaga = $('[name="rd_origemVaga"]:checked').val();
		    	
		    	
		    	if (colaborador == undefined){
			    		FLUIGC.toast({
			    			title: 'Atenção:',
			    			message: 'Informe qual a função do colaborador que será Contratado!',
			    			type: 'warning'			    			
			    		}); 
			    return false;
			    		
			    }
		    	else if(colaborador != 'funcionario' && supervisor == ''){
			    		FLUIGC.toast({
			    			title: 'Atenção:',
			    			message: 'Informe o Supervisor do Estágio!',
			    			type: 'warning'				    			
			    		});	
			    return false;
			    	}	
		    		
		    	else if(origemVaga == undefined){
	    		FLUIGC.toast({
	    			title: 'Atenção:',
	    			message: 'Informe a Origem da vaga!',
	    			type: 'warning'				    			
		    		}); 
	    		return false;
		    	}
		    	
		    	if($('#txt_loginUsuario').val() == $('#txt_loginGerente').val()){
		    		$("#txt_fluxo").val('sup');
		    		console.log('Login do Usuário ' + $('#txt_loginUsuario').val());
		    	}
		     }
  		    
  		    if(numstate == 17){
  		    	console.log('Entrou na atividade 17');
  		    }
  		   
		}
		
		</script>

@vagner_duarte, nesse script está correto. No que você postou no primeiro post estava estranho e parecia que o segundo if, numState == 17, estava dentro do primeiro if, numState == 4.

Ele deixa de funcionar totalmente? Não exibe erro no console dizendo que tem algo errado? Ou é um erro de lógica que não está executando algo específico?

Pelo que você esta relatando parece que tem algo no evento de formulário “validateForm” para essa atividade, se tiver o Fluig irá ignorar essa validação pelo “beforeSendValidate” para essa atividade.
image

@Willian_Laynes, mas a beforeSendValidate ocorre no front antes de submeter o formulário pro back, que então executará a validateForm. Então é possível ter os dois eventos.