Boa tarde Após a quarta atividade da segunda aula está dando erro se tipo na função mensagensDeErro , como posso resolver esse problema?
Boa tarde Após a quarta atividade da segunda aula está dando erro se tipo na função mensagensDeErro , como posso resolver esse problema?
Fala ai Matheus, tudo bem? Esse erro pode estar ocorrendo por N motivos, no caso, parece que seu objeto mensagensDeErro
não possui a chave que você está tentando ler.
Sugiro adicionar um console.log(tipo)
antes dessa linha e verificar o será impresso, depois, verifique o objeto se ele contém o tipo
que foi logado.
Espero ter ajudado.
Olá, tudo bem? Então, fiz um console.log() no lugar e deu true, até aí tudo bem, mas quando ele passa pela condicional, por algum motivo retorna undefined.
Baixei os arquivos atualizados do professor no Github e a feature de mensagem de erro personalizado, também não funciona como apareceu na aula.
Fala Matheus, faz o seguinte, compartilha comigo o seu projeto, assim eu consigo simular o problema por aqui e analisá-lo com mais calma.
Pode compartilhar através do Github ou Google Drive (zipado).
Fico no aguardo.
Fala Matheus, o link aqui está quebrado, não consegui fazer o download, consegui subir novamente e mandar o novo link?
Abraços.
Fala Matheus, dei uma olhada no projeto, o mesmo tem bastante página, mas, o motivo de alguns campos darem o erro de undefined
no console do navegador é porque não existem validações para eles.
Por exemplo, eu testei a página referente ao cadastro de projeto, nos campos preço e nome a validação da erro, isso porque no objeto:
const mensagensDeErro = {
email: {
valueMissing: "O e-mail é necessário",
typeMismatch: "Este não é um e-mail válido"
},
senha: {
valueMissing: "O senha é necessária",
tooShort: "A senha deve ter no mínimo 4 caracteres"
},
dataNascimento: {
valueMissing: "O data de nascimento é necessária",
rangeUnderflow: "A data mínima é 01/01/1901",
customError: "A idade mínima é de 18 anos"
},
cpf: {
valueMissing: "O CPF é necessário"
},
rg: {
valueMissing: "O RG é necessário"
},
cep: {
valueMissing: "O CEP é necessário"
},
logradouro: {
valueMissing: "O logradouro é necessário"
},
cidade: {
valueMissing: "A cidade é necessária"
},
estado: {
valueMissing: "O estado é necessário"
}
};
Não existe as chaves nomeProduto
e preco
com a validação valueMissing
.
Sendo assim precisaria adicioná-las:
const mensagensDeErro = {
email: {
valueMissing: "O e-mail é necessário",
typeMismatch: "Este não é um e-mail válido"
},
senha: {
valueMissing: "O senha é necessária",
tooShort: "A senha deve ter no mínimo 4 caracteres"
},
dataNascimento: {
valueMissing: "O data de nascimento é necessária",
rangeUnderflow: "A data mínima é 01/01/1901",
customError: "A idade mínima é de 18 anos"
},
cpf: {
valueMissing: "O CPF é necessário"
},
rg: {
valueMissing: "O RG é necessário"
},
cep: {
valueMissing: "O CEP é necessário"
},
logradouro: {
valueMissing: "O logradouro é necessário"
},
cidade: {
valueMissing: "A cidade é necessária"
},
estado: {
valueMissing: "O estado é necessário"
},
nomeProduto: {
valueMissing: "O nome é necessário"
},
preco: {
valueMissing: "O preço é necessário"
},
};
Isso deve resolver o problema para a validação de campos obrigatórios, precisaria verificar se outras validações irão dar algum problema.
Espero ter ajudado.