[Música] E aí gente beleza mais um vídeo aqui sobre Gol a gente vai dar continuidade no nosso projeto e hoje a gente vai trabalhar na validação dos nossos Campos a gente vai validar se a pessoa realmente enviou e-mail no campo e-mail assim realmente o nome da pessoa está correto no campo nome se a idade da pessoa está correto no campo idade a gente vai validar a senha o tamanho da senha e se tem símbolos na senha e assim por diante Então a gente vai avaliar tudo aqui no nosso projeto Então vamos começar aqui pelo nosso
objeto de usar Quest Beleza então vamos para o vídeo [Música] então para a gente poder fazer a validação dos nossos Campos a gente vai ter o nosso pacote go player invalidator tá esse cara basicamente ele faz a validação dos Campos com as tags tá então a gente vai ter aqui as tags Monte tem várias várias tipos de tag tag para ipv4 ipv6 eu já fiz um vídeo de validação tá se você quiser assistir vou deixar aqui no card o vídeo mas basicamente a gente tem tags para quase todos os tipos de validação e quando não
tem todo tipo de validação você ainda consegue validar com Rex tá mas aqui a gente vai usar validação simples para poder criar a validação dos nossos Campos Então vamos lá pra gente poder instalar esse cara tá aqui na instalação o nosso Gol get tá então você vai dar um goguete aqui de hub.com Gol traço playground validator V10 Então você vai copiar esse código vou Minimizar aqui pra gente conseguir importar vai abrir o terminal e vai rodar esse código então vou só fechar aqui desse canto vamos rodar esperar ele instalar instalado aqui ele vai ter instalado
no nosso projeto se você vai no Gold agora ele vai aparecer aqui ó tá vendo no Google invalidator V10 ele vai estar como indirect porque a gente ainda não começou a utilizar mas a gente vai começar a utilizar ele vai mudar para Direct então ele vai vir aqui para cima para esse requaire Beleza então vamos começar a utilizar Aí você pergunta por que que no nosso terminal Ele não mostrou nada dos logs Acabei fechando mais porque que ele não mostrou nada né ali ele não mostrou que baixou ele meio que já tinha baixado isso e
ele já estava como indireto aqui por que que aconteceu isso o jinglene ele utiliza a golva ali dentro por debaixo dos panos tá então se você vir aqui no nosso controle na onde a gente criou as nossas rotas e vim no nosso Create user tá vendo esse shield by Jason esse shield by Jason ele já valida pra gente se o campo Está correto ou não Tá então ele usa Gol validator por debaixo dos panos ou seja quando a gente dá um chute vai Jason ele basicamente ele já faz isso pra gente ele já valida o
nosso campo tá então ele já valido assim todas as tags estão sendo satisfeitas e assim por diante Beleza então tá tudo certinho dentro ou seja por isso que ele não ele já tinha baixado antes porque na hora que você instala o jinglene que ele instala o vale dele como dependência indireta do seu projeto porque ele é dependência Direta do jinglene então você não meio que baixo os dois de uma vez só beleza então a gente vai fazer da mesma forma a gente vai validar aqui os nossos Campos tá bom para a gente validar os nossos
Campos a gente vai vir o request e user Quest que no caso é um valor que a gente vai receber aonde a gente vai pegar esses valores né a gente vai validar para isso a gente vai ter uma propriedade se você for utilizar só o validator basicamente a gente vai ter um cara chamado validez Então a gente vai poder vir aqui e escrever Valente dois pontos e abre abre e fecha aspas tá só que como a gente está utilizando com jingle gonic ele coloca para que ser banding tá então você coloca aqui bindin é o
que ele vai fazer a validação tá então na hora que você for utilizar para poder fazer essa validação você utiliza Mind se você for utilizar o V10 puro sem nenhum sem ninguém por cima dele você vai colocar aqui Vale você vai colocar que vale dator vai colocar as mesmas tags que você tinha colocado antes Beleza então é basicamente isso então vamos criar Aqui as nossas validações eu vou só copiar e colocar ele em todas as nossas propriedades Beleza então vem aqui colocar aqui em todas as propriedades entre as propriedades você tem que colocar espaço tá
então coloca espaço beleza tá aqui os bainds que a gente vai precisar Então vamos lá para a gente poder vamos vamos começar validando pelo name e tal name que é o mais fácil aqui que a gente vai precisar validar primeira coisa que a gente precisa fazer é fazer com que ele seja obrigatório então a pessoa tem que enviar esse campo na hora que ela vai criar um usuário para isso a gente coloca aqui require beleza então para falar que o campo ele é obrigatório a gente precisa colocar ele como requaire só que aí a gente
precisa fazer com que o campo name ele também tem o mínimo e o máximo senão a pessoa vai mandar a ninguém tem o nome de a e nem o nome de tal algo assim duas letras na verdade a pessoa pode até colocar Zé né porque é duas letras mas a gente precisa pelo menos validar a gente precisa do nome completo aqui tá então a gente pode colocar vírgula então você coloca vírgula depois de requaild aí você vai colocar 100 espaço mim que no caso a gente vai falar que é o mínimo do tamanho né então
se você vem aqui na documentação deles então se você vem aqui na documentação deles vocês vão ver aqui embaixo na parte de Strings aqui ó mim então ele vai definir qual é o mínimo qual o tamanho mínimo dessa string que a gente quer né então o tamanho mínimo Vamos colocar que seja quatro tá e a gente vai ter a propriedade Max também que a gente vai colocar Então vamos colocar aqui o tamanho máximo tem que ser 50 por exemplo tá então o nome da pessoa tem que ter entre quatro e 50 caracteres Beleza então é
isso que a gente vai colocar a gente pode até colocar a senha aqui sei lá é o máximo meio que acaba não importando tanto tá a gente só precisa ter algum máximo mas o mínimo é o que mais importa pra pessoa não mandar ali um nome qualquer é difícil você validar nomes Tá difícil você validar se o nome da pessoa tá correto porque não tem como você fazer uma validação dessa então você simplesmente coloca o mínimo e máximo é geralmente o que dá para poder fazer com o nome tá bom então vamos lá tudo rodando
a aplicação estão deixando só o name aqui como Bad recuard Beleza então a gente tá aqui com a nossa aplicação rodando Então se a gente enviar aqui um bar e correto normalmente aqui então se a gente enviar aqui um bar e correto normal então do que a gente estava enviando aqui só o e-mail só deixa eu colocar aqui um Otávio só para a gente poder ter alguma coisa na hora que a gente enviar ele vai conseguir criar aqui bonitinho né ele vai dar aqui um 200 aqui porque tá tudo certo aqui os nomes né só
que se eu colocar um nome vazio aqui o que que vai acontecer alá ó some Fields ar encarrect então ele vai printar aqui que os campos estão incorretos né a gente tá enviando string então é válido string então se eu mandar 20 é que ele também vai dar o mesmo erro só que se eu mandar string mesmo sendo string mas ser vazia ele também não vai deixar tá então ele vai colocar só Fields ar encarrect Beleza então basicamente ele vai falar que tá errado só que se a gente enviar aqui por exemplo um um tá
aqui por exemplo duas letras três letras ele não vai deixar tá então ele T4 dígitos aqui para ele conseguir então eu envio em mínimo 4 ele conseguiu passar da mesma forma que se eu mandar mudar aqui para o vai ser o simular sem caracteres aqui para a gente testar o máximo né mas vamos supor que ele tá funcionando da mesma forma que o mínimo tá só para não ter que colocar o máximo aqui ou então vamos fazer o seguinte trocar aqui o máximo para 10 certo então vamos parar aqui o que está executando vamos rodar
de novo na hora que a gente colocar aqui colocar um nome maior do que 10 caracteres oh ele vai dar a mesma coisa né da mesma forma que se você colocar dois caracteres ele vai quebrar da mesma forma Beleza então ele vai dar aqui 400 código no método post beleza aí ele vai dar error challenge Marshall jec error que user quest.name erro feed validation Field on the mintag então a gente enviou um tamanho mínimo menor do que é suportado né Então ele deu aqui esse erro no nosso log na nossa aplicação tá que a gente
vai jogar isso daqui para dentro de casas no próximo vídeo Tá bom então beleza Realmente validou esse cara então tá certinho aqui tá bom ele até abriu uma página aqui sem querer então vamos voltar para o nosso código então o nome já tá validado a gente tá tudo certo aqui com o nosso nome tá então vamos validar agora a idade Beleza então a gente vai validar agora o campidade pra gente validar o campidade a gente vai colocar require novamente porque precisa ser enviado esse campo Beleza a gente vai colocar um mínimo quatro então a gente
poderia colocar mínimo 18 mínimo que for aqui é o número qual é o número mínimo para poder colocar aqui não tem mínimo eu coloquei quatro aqui poderia ser dois aí vocês veem o que faz mais sentido vamos deixar dois aqui simplesmente por por ser número dois tá mas poderia ser zero poderia deixar um Vou deixar um Tá bom mas só pra gente ter um mínimo aqui da idade tá E vamos colocar o Max que a pessoa só pode mandar uma idade máxima de 140 que por exemplo Tá então vamos deixar o Max aqui de 140
Ou seja é diferente do mini Max do de cima porque esse é número né só que como que eu faço para falar que ele é um número né para ele poder saber que esse daqui é um número mesmo sendo mini Max propriedades de uma string então aqui a gente pode colocar propriedade no maryk Beleza então a gente coloca required no Maverick E aí a gente coloca o restante da propriedade que no caso nem precisaria né porque a gente já falou que é 28 se você mandar um diferente ele vai quebrar antes mesmo ele validar então
nem precisa desse no mérito tá se ele mandar string vai quebrar antes de cair nesse Band lembra que a gente testou Então não precisa desse cara tá então a gente roda aqui o nosso código de novo rodando aqui novamente então agora a gente tem que mandar aqui o nome correto Então vou colocar aqui um code YouTube por exemplo Beleza então a gente vai colocar para ele não quebrar e no ex de se a gente mandar agora um é vamos mandar menos 20 na verdade por exemplo Então na hora que a gente enviar esse cara ele
vai dar só um filtros correct então voltando aqui no nosso log frio de Vale deixa for age Fade on min tag então ele falhou na hora do da validação do mínimo né porque a gente mandou menos 29 né então o mínimo é um então se eu mandar zero aqui por exemplo na mesma forma ele vai quebrar do mesmo jeito tá então ele vai deixar da mesma forma que a gente colocou Max 140 Se eu colocar aqui 150 ele vai quebrar do mesmo jeito então a validação da nossa idade tá certinha Beleza agora partindo para validação
do nosso e-mail para validação do nosso e-mail é mais fácil ainda tá então você vai colocar o require aqui como todos os outros vírgula e-mail é a única coisa que a gente precisa colocar então ele vai validar se esse campo é um e-mail Tá então vamos parar a execução do nosso código e vamos rodar novamente rodando esse cara novamente se eu mandar do mesmo jeito que a gente tava mandando antes ele vai quebrar do mesmo jeito tá que tá vamos mandar 90 aqui que é permitido tá 29 por exemplo que é permitido e ele quebrou
do mesmo jeito mesmo mandando o restante certo né Então no que que ele quebrou ele quebrou aqui ó user requash ponto é meio falhou na validação de e-mail na tag e-mail ele falhou porque porque ele valida sem é meio então se a gente colocar aqui por exemplo Otávio @test.com e na hora que a gente enviar ele vai conseguir enviar certinho né então vamos testar aqui se a gente deixar só a roupa por exemplo lá ele também porque não é um e-mail válido né então ele valida aqui sem e-mail simplesmente colocando e-mail lá no nosso Band
em uma das tags de validação Beleza então ele dá certo aqui ele tá validando bonitinho e retornando 200 agora o último que a gente vai precisar é a senha né então a gente vai colocar novamente required para 100 então assim precisa ser obrigatória o tamanho da senha mínimo que a gente vai criar a gente vai colocar o mínimo da senha de seis caracteres tá então precisa ter no mínimo seis caracteres a sua senha certo e também para a gente ter um mínimo de complexidade na nossa senha a gente vai ter um campo chamado context n
Beleza então vamos entrar aqui no código para vocês verem então se você procura aqui com tens n aqui ó contém n é uma propriedade do string tá então contém Zen e você coloca quais você coloca Quais características Você acha ou você quer que tenha nessa string com a pessoa enviar tá então a gente vai fazer o quê aqui a gente vai colocar a gente vai colocar com tênis n Beleza então com o tênis igual aí a gente vai fazer o que a gente vai colocar o símbolos Então eu quero que tenha algum símbolo na senha
Então eu quero que ela tenha um tamanho mínimo de seis e alguns símbolo algum caractere especial Beleza Aqui Acontece n com a minúsculo e a gente vai colocar aqui os caracteres Então vou colocar exclamação @vamos colocar esses assim Acho que só esses aqui tá bom tá aqui só faltou o asterisco aqui beleza então contém n ele vai ter tem que ter um desses caracteres tem que ter o tamanho seis Beleza então vamos parar Nossa execução vamos rodar novamente go Run Beleza então a nossa senha tá só teste vamos só vamos testar agora se tá dando
certo então correct então ele não deixou mesmo com o nome certo idade certa e meio certo ele ele quebrou tá então só enviar teste um monte de texto e ser maior que seis ele vai quebrar também porque faltou um caracter especial então se você colocar um arroba aqui por exemplo ele vai deixar você apagar colocar a exclamação da mesma forma você vai apagar e colocar jogo da velha da mesma forma e assim por diante tá assim como se eu colocar o asterisco ele também vai dar certo da mesma forma Beleza então ele vai estar aqui
validando a nossa senha certo Então essa vai ser a validação dos nossos Campos a gente vai ter essa validação básica aqui para a gente pelo menos proteger os dados da nossa aplicação não entrar qualquer informação aqui dentro beleza então ficou bem simples A gente só teve que mudar uma propriedade bying já que o jinglene que ele já tem essa validação dentro dele Beleza então esse foi o vídeo no próximo vídeo a gente vai jogar quais erros estão acontecendo em vez a gente só deixar aqui no log o que que tá acontecendo de errado a gente
vai retornar para pessoa que tá chamando a nossa requisição dentro do campo causas aqui a gente vai retornar esse erro que tá só que de uma forma mais bonitinha a gente vai retornar pra pessoa o que que ela tá enviando de errado pra nossa aplicação Beleza então esse foi o vídeo espero que vocês tenham gostado não nos vemos no próximo vídeo em gol e até a próxima falou