Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Curso de Google Formulários - #10 Formulário Interno (Validações e Retornos)

15/10/2020

Nesse tutorial trabalharemos com validação de dados dentro do nosso formulário interno do Google e como trazer dados da planilha para o formulário.

Validação de Dados com Google Forms

Como exemplo faremos a validação de um CPF antes de inserir os dados na planilha:

server.gs

//Recebe os dados do formulário no lado servidor
function processForm(formObject)
{
    let name=formObject.name;
    let age=formObject.age;
    let lastRow=sheet.getLastRow();
    let cpf=formObject.cpf;
    let cpfValidado1=cpf.replace(/\./g,'');
    let cpfValidado2=cpfValidado1.replace('-','');
    if(testaCPF(cpfValidado2)){
        if(verifyCPF(cpf)){
            sheet.getRange(lastRow+1,1).setValue(name);
            sheet.getRange(lastRow+1,2).setValue(age);
            sheet.getRange(lastRow+1,3).setValue(cpf);
            return "<div class='alert alert-success'>Os dados foram inseridos com sucesso</div>";
        }else{
            return "<div class='alert alert-danger'>CPF já cadastrado!</div>";
        }
    }else{
        return "<div class='alert alert-danger'>O cpf não é válido!</div>";
    }
}

function testaCPF(strCPF) {
    let Soma;
    let Resto;
    Soma = 0;
    if (strCPF == "00000000000") return false;

    for (i=1; i<=9; i++) Soma = Soma + parseInt(strCPF.substring(i-1, i)) * (11 - i);
    Resto = (Soma * 10) % 11;

    if ((Resto == 10) || (Resto == 11))  Resto = 0;
    if (Resto != parseInt(strCPF.substring(9, 10)) ) return false;

    Soma = 0;
    for (i = 1; i <= 10; i++) Soma = Soma + parseInt(strCPF.substring(i-1, i)) * (12 - i);
    Resto = (Soma * 10) % 11;

    if ((Resto == 10) || (Resto == 11))  Resto = 0;
    if (Resto != parseInt(strCPF.substring(10, 11) ) ) return false;
    return true;
}

Podemos verificar também se o cpf já está cadastrado na planilha:

//Verificar se o cpf já está cadastro
function verifyCPF(cpf)
{
    let cadastrados=sheet.getRange("C1:C").getValues();
    let erro=0;
    cadastrados.map(function(elem,ind,obj){
        if(elem == cpf){
            erro+=1;
        }
    });
    if(erro == 0){
        return true;
    }else{
        return false;
    }
}

form.html

No nosso formulário html vamos criar o select responsável por exibir as cidades que serão buscadas na planilha:

<select name="city" id="city">
    <option value="">Selecione a cidade</option>
</select>

javascript.html

Iremos adicionar as options no select:

//Adiciona as options ao select
let selCity = document.querySelector('#city');
function callback(response)
{
    let arr=response;
    arr.map(function(elem,ind,obj){
        let opt=document.createElement('option');
        opt.appendChild(document.createTextNode(elem[0]));
        opt.value=elem[0];
        selCity.appendChild(opt);
    });
}
google.script.run.withSuccessHandler(callback).addCities();

server.gs

Vamos adicionar a função addCities para inserirem no nosso select:

//Pegar as cidades na planilha
function addCities()
{
    let arrCities=sheet.getRange("E1:E").getValues();
    let arr=[];
    arrCities.map(function(elem,ind,obj){
        if(elem != ""){
            arr.push(elem);
        }
    });
return arr;
}

Então é isso! Por hoje é só! Sucesso nos códigos e na vida!

Precisa de um teacher? webdesignemfoco@gmail.com

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Curso de Google Formulários - #09 Formulário Interno (Cadastro e Máscaras)
Nesse tutorial vamos continuar o web template fazendo a inserção dos dados digitados no formulário na nossa planilha do Google e máscaras de campos.
Saiba mais!
Curso de Google Formulários - #11 Introdução à API
Iniciamos hoje a parte mais avançada do curso de Google Forms com a introdução a API do Google Sheets utilizando como linguagem backend o PHP.
Saiba mais!
Google Forms
Esse é o curso de Google Forms. Aqui você aprenderá a criar desde um formulário básico até um formulário usando API.
Saiba mais!