O primeiro código chama o método validacoes da classe Validator. Dentro desse método deveria ser chamado o método validaNome. O problema é que não consigo chamar de jeito nenhum. O que está errado? Haa, antes q perguntem oq aparece no console, ja digo que não aparece nada, nem se quer um erro. Fiz questão de colocar um alert dentro do método validaNome mas o alert também não está sendo chamado. Ou seja, método não está sendo lido e eu n sei pq.
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(){
var validado =Validator.validacoes(nameInput.value,emailInput.value,empresaInput.value);
alert("fora do validator");
create(validado.name.value,validado.email.value,validado.empresa.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);
});
});
class Validator {
constructor() {
throw new Error('Esta classe não pode ser instanciada');
}
static validacoes(nome,email,empresa) {
var resultado = true;
var erros = [];
alert("validator0.1");
if ((!validaNome(nome)) || nome.length == 0) {
alert("errou");
erros.push("Nome inválido");
resultado = false;
}
alert("validator0");
exibeMensagensDeErro(erros);
if(!resultado){throw new Error('Tem coisa errada!');}
alert("validator1");
var validado={
nome:nome,
email:email,
empresa:empresa
}
alert(" validator2");
return validado;
}
validaNome(texto) {
if(!/[A-Z][a-z].* [A-Z][a-z].*/.test(texto)){
alert(" validaNome false");
return false;
}
alert(" validaNome true");
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);
});
}
}