Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não consigo chamar método statico.

Estou chamando Validator.validacoes(...) , um método estático, porém parece que nada ocorre. Nada mesmo. Nem se quer um erro ou uma exceção. O método simplesmente não funciona e paralisa todo o código.

class Validator {

    constructor() {

        throw new Error('Esta classe não pode ser instanciada');
    }


static validacoes(nome,email,empresa) {
console.log("joinha test");
  var resultado = true;
    var erros = [];

    if ((!validaNome(nome)) || nome.length == 0) {
        erros.push("Nome inválido");
        resultado = false;
    }

exibeMensagensDeErro(erros);

if(!resultado){throw new Error('Tem coisa errada!');}
  }


  static validaNome(texto) {
    if(!/[A-Z][a-z].* [A-Z][a-z].*/.test(texto)){
      return false;
    }

    return true;
  }

static exibeMensagensDeErro(erros) {
    var ul = document.querySelector("#mensagens-erro");
    ul.innerHTML = "";

    erros.forEach(function(erro) {
        var li = document.createElement("li");
        li.textContent = erro;
        ul.appendChild(li);
    });
}


}

chamando: Validator.validacoes: (entre comentários "ajuda!!!")

var userList = document.getElementById("usersList");
var nameInput = document.getElementById("nomeInput");
var emailInput = document.getElementById("emailInput");
var empresaInput = document.getElementById("empresaInput");
var addButton = document.getElementById("addButton");

addButton.addEventListener("click",function(){

  // Ajuda!!!!
Validator.validacoes(nameInput.value,emailInput.value,empresaInput.value);
// Ajuda!!!!

create(nameInput.value,emailInput.value,empresaInput.value);
});

function create(name,email,empresa){
var data={
name:name,
email:email,
empresa:empresa
};

return firebase.database().ref().child("users").push(data);
}

firebase.database().ref("users").on("value", function(snapshot){
userList.innerHTML = "";
snapshot.forEach(function (item){
var li = document.createElement("li");
li.appendChild(document.createTextNode(item.val().name + ": " + item.val().email + ": "+ item.val().empresa));
usersList.appendChild(li);
});
});
1 resposta
solução!

Boa noite, Andrey! Como vai?

Quando vc executa o método estático validacoes() o que aparece no console do navegador?