Baixe o app para aproveitar ainda mais
Prévia do material em texto
24/04/2020 Como Validar Formulários com o Bootstrap Validator - Web Dev Academy https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 1/13 Como você já deve saber, o Bootstrap não tem um mecanismo de validação por padrão (e nem deve). Ele até tem as classes auxiliares para identi�car os campos inválidos, mas a lógica deles deve ser implementada por você. Neste tutorial vai aprender a fazer a validação de um formulário simples, usando a biblioteca Bootstrap Validator. Passo 1: Pegue a lib do Bootstrap Validator O Validator é um plugin para Bootstrap que fornece validação automática de formulários que pode ser personalizada e usa, normalmente, os atributos padrão do HTML5. Ele também fornece um nível de user experience bastante discreto, para não atrapalhar seu usuário. Este plugin foi criado por Cina Saffary, sobre a licença MIT. Você pode obter uma cópia do Bootstrap Validator no GitHub do desenvolvedor, neste link: https://github.com/1000hz/bootstrap-validator Como Validar Formulários com o Bootstrap Validator https://github.com/1000hz/bootstrap-validator https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 24/04/2020 Como Validar Formulários com o Bootstrap Validator - Web Dev Academy https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 2/13 Quando abrir, basta clicar no link Download ZIP, na parte direita, ou fazer um fork do repositório. Os arquivos que você deve usar estão na pasta /dist . São eles o validator.js e o validator.min.js . Copie, ou mova, o arquivo validator.min.js para a pasta /js do seu projeto. Passo 2: Referencie a lib no seu Projeto Agora, você deve fazer a chamada do Bootstrap Validator na sua página. Para isso, coloque o script a seguir no �nal da página, antes do </body> : <script src="js/validator.min.js"></script> É importante colocar este script no �nal, depois das chamadas do Bootstrap e do jQuery, porque ele depende desses para funcionar. Passo 3: Crie o Formulário para o Validator Agora podemos criar um formulário simples, para colocar as validações. O código pode ser assim: 24/04/2020 Como Validar Formulários com o Bootstrap Validator - Web Dev Academy https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 3/13 view rawbootstrap-simple-form.html hosted with by GitHub Perceba que tem um data-toggle="validator" na tag <form> . É esse atributo que ativa a lib de validação que vamos usar. A validação também pode ser ativada via Javascript, quando for necessário: $('#formExemplo').validator(); Este formulário apareceria assim, na tela: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 <form id="formExemplo" data-toggle="validator" role="form"> <div class="form-group"> <label for="textNome" class="control-label">Nome</label> <input id="textNome" class="form-control" placeholder="Digite seu Nom </div> <div class="form-group"> <label for="inputEmail" class="control-label">Email</label> <input id="inputEmail" class="form-control" placeholder="Digite seu E </div> <div class="form-group"> <label for="inputPassword" class="control-label">Senha</label> <input type="password" class="form-control" id="inputPassword" placeh </div> <div class="form-group"> <label for="inputConfirm" class="control-label">Confirme a Senha</lab <input type="password" class="form-control" id="inputConfirm" placeho </div> <div class="checkbox"> <label> <input type="checkbox"> Marque este item. </label> </div> <button type="submit" class="btn btn-primary">Enviar</button> </form> https://gist.github.com/ruancarvalho/dc29b8eebd6fbc426d49/raw/321cd35958c009303ef63fbbd9ea16e1da721bc0/bootstrap-simple-form.html https://gist.github.com/ruancarvalho/dc29b8eebd6fbc426d49#file-bootstrap-simple-form-html https://github.com/ 24/04/2020 Como Validar Formulários com o Bootstrap Validator - Web Dev Academy https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 4/13 Ainda não temos as regras de validação nos campos. Então, vamos agora colocar regras em cada um… Passo 4: Adicione as Validações A validação de um campo é feita de�nindo o tipo dele, alguns atributos de validação, e uma mensagem de noti�cação. Para mostrar a mensagem, você deve colocar uma div com as classes help-block e with-errors , depois do campo: <div class="help-block with-errors"></div> Veja como o código do formulário deve �car agora: 24/04/2020 Como Validar Formulários com o Bootstrap Validator - Web Dev Academy https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 5/13 view rawbootstrap-validator-tutorial.html hosted with by GitHub A maior parte das validações é executada de acordo com os atributos do HTML5 e o tipo. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 <form id="formExemplo" data-toggle="validator" role="form"> <div class="form-group"> <label for="textNome" class="control-label">Nome</label> <input id="textNome" class="form-control" placeholder="Digite seu Nom </div> <div class="form-group"> <label for="inputEmail" class="control-label">Email</label> <input id="inputEmail" class="form-control" placeholder="Digite seu E data-error="Por favor, informe um e-mail correto." required> <div class="help-block with-errors"></div> </div> <div class="form-group"> <label for="inputPassword" class="control-label">Senha</label> <input type="password" class="form-control" id="inputPassword" placeh data-minlength="6" required> <span class="help-block">Mínimo de seis (6) digitos</span> </div> <div class="form-group"> <label for="inputConfirm" class="control-label">Confirme a Senha</lab <input type="password" class="form-control" id="inputConfirm" placeho data-match="#inputPassword" data-match-error="Atenção! As senhas nã <div class="help-block with-errors"></div> </div> <div class="form-group"> <div class="checkbox"> <label> <input type="checkbox" data-error="Você deve marcar este campo!" </label> <div class="help-block with-errors"></div> </div> </div> <div class="form-group"> <button type="submit" class="btn btn-primary">Enviar</button> </div> </form> https://gist.github.com/ruancarvalho/ebbcccf926a0991840ab/raw/15e7fc4b99d04f9f6be7f436443ac6d61622c7ac/bootstrap-validator-tutorial.html https://gist.github.com/ruancarvalho/ebbcccf926a0991840ab#file-bootstrap-validator-tutorial-html https://github.com/ 24/04/2020 Como Validar Formulários com o Bootstrap Validator - Web Dev Academy https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 6/13 Vamos entender cada campo desse, e como eles foram validados: No campo Nome foi colocado apenas um atributo required. Isso é padrão do HTML5 e a lib usa automaticamente para formatar o visual de erro. (linha 4) No campo E-mail, colocamos o type como “email”, o required e também um atributo data-error. Esse atributo é usado pelo Validator para exibir uma mensagem personalizada. A validação é feita em cima do type e do required. (linhas 9 e 10) No campo Senha, colocamos o type como “password”, o required e também um atributo data-minlenght. Esse atributo é usado pelo Validator para exigir um valor mínimo de dígitos. A validação é feita em cima do required, e do data-minlenght. (linhas 16 e 17) No campo Con�rme a Senha, colocamos o type como “password”, o required e também um atributo data-match e um data-match- error. Esses atributos são usados pelo Validator para veri�car se um campo é igual ao outro, pelo ID. A validação é feita em cima do required, e do data-match. (linhas 23 e 24) Por�m, no campo Marque este Item, colocamos o required e um atributo data-error. Esses dois você já viu para que servem. Quando o usuário clicar no botão de submit, que é o botão Enviar, o Validator irá veri�car cada um destes campos e suas regras. Se houver erros, ele irá aplicar os estilos do Bootstrap e mostrar as mensagens de erro que houverem. Lembre-se que essa validação é somente a nível de front-end! Você deve fazer outra validação no backend, também. Ao tentar enviar o form inválido, a tela deve �car assim: 24/04/2020 Como Validar Formulários com o Bootstrap Validator - Web Dev Academy https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 7/13 Opcional: Crie suas Próprias Validações Bom, cada formulário tem suas validações especí�cas. O Validator permite que você crie algumas validações diferentes do que é mais comum. Basicamente, basta você seguir as regras do Bootstrap. É importante, também, que cada campo �que em uma div com .form-group separada, para que as mensagens de erro sejam mostradas corretamente. As regras de validação padrão são de�nidas pelos componentes do formulário, usando os atributos do HTML5: type="email" type="url" type="number" , junto com os adicionais de tamanho max e min. pattern="Reg(ular )?Exp(ression)?" (para campos do tipo text , search , tel , url ou email ) required Você também pode usar atributos personalizados da API do HTML5: data-match="#idDoInput" para garantir que valores sejam iguais data-minlength="5" para forçar um valor mínimo de dígitos 24/04/2020 Como Validar Formulários com o Bootstrap Validator - Web Dev Academy https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 8/13 data-remote="/endereco/do/validador/remoto" para fazer uma requisição AJAX para veri�car se o campo é válido ou não. Este último é para os casos mais complexos, como CPF, endereço físico, etc. Você pode consultar a documentação da lib para entender como implementá-lo. E a resposta deve ser um 200 OK se o campo for válido, ou 4xx caso contrário. Finalizando… Neste tutorial você viu um exemplo de como fazer validação de formulários com o Bootstrap Validator. É uma lib não o�cial, mas que ajuda muito no desenvolvimento. Se você tiver alguma dúvida, ou gostou do tutorial, basta deixar um comentário logo abaixo. Um abraço e até a próxima! 31 Comentários Web Dev Academy 🔒 Disqus' Privacy Policy Entrar1 t Tweet f Compartilhar Ordenar por Mais votados FAZER LOGIN COM OU REGISTRE-SE NO DISQUS Participe da discussão... ? Recomendar 2 Publicado por Ruan Carvalho Ruan é especialista em Front-end e trabalha com Desenvolvimento Web desde 2007. Ver todos os posts por Ruan Carvalho Tutoriais Bootstrap http://1000hz.github.io/bootstrap-validator/ https://disqus.com/home/forums/webdevacademycombr/ https://help.disqus.com/customer/portal/articles/466259-privacy-policy https://disqus.com/home/inbox/ https://webdevacademy.com.br/author/ruanwebdevacademy-com-br/ https://webdevacademy.com.br/categoria/tutoriais/ https://webdevacademy.com.br/tag/bootstrap/ 24/04/2020 Como Validar Formulários com o Bootstrap Validator - Web Dev Academy https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 9/13 Nome Samuel Guio • um ano atrás • Responder • Boa tarde. Meu formulário está validando e exibindo os erros. Porem não fica vermelho. Alguém já enfrentou esse problema? 2△ ▽ Antonio Finazzi • 14 dias atrás • Responder • Bem simples e claro sem enrolação. Parabéns! △ ▽ Fabio Domingues • 5 meses atrás • Responder • Bom dia amigo. No front-end. funcionou perfeitamente. Mas como posso validar todos os campos na chamado do submit do botão enviar. if ($('#formExemplo').validator()) //qual comando eu coloco aqui Alert("Ok todos os campos preenchidos corretamente") else Alert("PReencher os campos") } △ ▽ Roberto Junior • 2 anos atrás • Responder • Fala ai amigo, mto bom, ajudou muito , so que as critica aparecem com a fonte maior e preta , nao em vermelho, sabe dizer o que pode ser ? △ ▽ Ângelo Cupertino • 2 anos atrás • Responder • > Roberto Junior tem que mudar isso no css e não no js, .error { color: red; font-size: 14px; } △ ▽ Kellison Ruan Borges • 2 anos atrás • Responder • Ruan, me diz uma coisa. Como faço para validar campos da mesma forma dessa aí, mas para o summernote? Não consegui nenhum jeito aqui. △ ▽ Elizandro G. Roos • 2 anos atrás • Responder • Por favor, coloque a data de publicação do artigo. △ ▽ Kl it Alb 2 t á Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › https://disqus.com/by/samuel_guio/ https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-4303581360 https://disqus.com/by/antoniofinazzi/ https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-4869673205 https://disqus.com/by/disqus_cClLNTVbJy/ https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-4696224144 https://disqus.com/by/disqus_qzLhgHqS8X/ https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-4100999521 https://disqus.com/by/ngelocupertino/ https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-4146808684 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-4100999521 https://disqus.com/by/kellisonruanborges/ https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-4090113108 https://disqus.com/by/elizandrogroos/ https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3866936538 https://disqus.com/by/kleitonalbuquerque/ https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3862737996 https://disqus.com/by/samuel_guio/ https://disqus.com/by/antoniofinazzi/ https://disqus.com/by/disqus_cClLNTVbJy/ https://disqus.com/by/disqus_qzLhgHqS8X/ https://disqus.com/by/ngelocupertino/ https://disqus.com/by/kellisonruanborges/ https://disqus.com/by/elizandrogroos/ https://disqus.com/by/kleitonalbuquerque/ 24/04/2020 Como Validar Formulários com o Bootstrap Validator - Web Dev Academy https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 10/13 Kleiton Albuquerque • 2 anos atrás • Responder • Muito bacana! Explicação breve e no ponto. Parabéns! △ ▽ Fernando Morais • 2 anos atrás • Responder • Muito bom mas continuo sem conseguir validar se pelo menos 1 de 2 radios num grupo está seleccionado. <div class="btn-group-vertical" data-toggle="buttons"> <label class="btn btn-primary"><input type="radio" name="vendnm" value="RQ" required="">RQ</label> <label class="btn btn-primary"><input type="radio" name="vendnm" value="LB" required="">LB</label> </div> <div class="help-block with-errors"></div> △ ▽ José Espinheira • 2 anos atrás • Responder • Muito bom, parabens! △ ▽ Paulo Santana • 2 anos atrás • Responder • Muito bom mesmo △ ▽ PAULO • 3 anos atrás • Responder • Como faz pro botao de enviar funcione... so acho tutorial ensinando a fazer o formulário mais eu quero q ele funcione △ ▽ Marcello • 3 anos atrás • Responder • Olá, estou com um problema, no meu form tenho um botao pra adicionar novos campos, só q na função que adicionar novos campos tenho algumas outras logicas tambem, por exemplo uma logica d contador pra sempre q adicionar um novo campo ele acrescentar o id, por exemplo id_1, id_2 etc. e sei q tenho q usar o $('#form').validator('update') para que o form reconheça os novos campos, porem o $('#form').validator() só funciona se colocado logo em seguida do meu append na função, e tenho q colocar a logica do contador após o append tambem senao n funciona, resumindo, ou a logica do contador funciona ou o validator('update'). Poderia me ajudar? △ ▽ Arthur Teodoro Alves de Lima • 3 anos atrás • Responder • comigo não está funcionando. está dandoo erro Uncaught ReferenceError: jQuery is not defined at validator.min.js:9 △ ▽ Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › https://disqus.com/by/kleitonalbuquerque/ https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3862737996 https://disqus.com/by/disqus_BPJ3czExur/ https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3750136582 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816594 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816593 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816592 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816591 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816590 https://disqus.com/by/kleitonalbuquerque/ https://disqus.com/by/disqus_BPJ3czExur/ 24/04/2020 Como Validar Formulários com o Bootstrap Validator - Web Dev Academy https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 11/13 Ruan Carvalho • 3 anos atrás • Responder • > Arthur Teodoro Alves de Lima Você precisa adicionar o jQuery antes do Bootstrap e do Validator. △ ▽ Ricardo Carvalho • 3 anos atrás • Responder • Muito bom tutorial me ajudou muito! Valeu! △ ▽ Criação de sites BH • 3 anos atrás • Responder • Excelente, obrigado △ ▽ Leandro • 3 anos atrás • Responder • Parabéns muito bom!!! △ ▽ Fernando • 3 anos atrás • Responder • Bom dia Segui o tutorial, mas caso as senhas não sejam iguais, o formulário ainda é submetido. Como conserto isso? Obrigado △ ▽ Ruan Carvalho • 3 anos atrás • Responder • > Fernando Você tem que verificar o atributo "data-match" do segundo campo de senha. Ele deve apontar para o ID do primeiro campo de senha. △ ▽ Karina • 3 anos atrás • Responder • Oi tentei implementar essa validação, fiz tudo passo a passo e quando clico no botão não funcionou. O que pode ser? △ ▽ Ruan Carvalho • 3 anos atrás • Responder • > Karina Verifica se o jQuery está adicionado na página. Você pode usar o Chrome Dev Tools para descobrir o erro: F12 no chrome, e na aba Console ele deve mostrar a mensagem. △ ▽ Karina • 3 anos atrás • Responder • > Ruan Carvalho Ruan Funcionou, valeu! Sabe dizer algum plugin para máscara do celular? :) △ ▽ Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816842 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816590 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816589 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816588 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816587 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816583 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816844 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816583 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816581 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816836 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816581 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816968 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816836 24/04/2020 Como Validar Formulários com o Bootstrap Validator - Web Dev Academy https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 12/13 Bootstrap CRUD Drupal HTML & CSS JavaScript jQuery PHP SQL Tooling WordPress TAGS Alan Ferreira • 3 anos atrás • Responder • > Karina Karina, Tente este: http://www.jasny.net/bootst... △ ▽ Antonio • 4 anos atrás • Responder • Muito bom! Deu pra ter uma boa idéia de como funciona o bootstrap! △ ▽ Davi • 4 anos atrás • Responder • PRECISO DE AJUDA: O botão ficou inacessível, ou seja, ao colocar o data-toggle="validator" na tag form o botão fica indisponível, mesmo com todos os campos preenchidos. Busquei informações mas não encontrei até o momento, alguém pode me ajudar? △ ▽ paPaulo • 4 anos atrás • Responder • Ola amigo, muito bom mesmo, mais ele não funciona em um modal? tentei de várias maneiras e nada! se poder me ajudar agradeço.... △ ▽ Angelo • 4 anos atrás • Responder • Compartilhei com meu nicho de desenvolvedores, muito bom o tutorial! △ ▽ Claudenir • 4 anos atrás • Responder • Ótimo tutorial com exemplo bem explicado Obrigado △ ▽ Wilton • 4 anos atrás • Responder • Muito obrigado mais uma vez... Agradeço imensamente. △ ▽ Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › Compartilhar › https://webdevacademy.com.br/tag/bootstrap/ https://webdevacademy.com.br/tag/crud/ https://webdevacademy.com.br/tag/drupal/ https://webdevacademy.com.br/tag/html-css/ https://webdevacademy.com.br/tag/javascript/ https://webdevacademy.com.br/tag/jquery/ https://webdevacademy.com.br/tag/php/ https://webdevacademy.com.br/tag/sql/ https://webdevacademy.com.br/tag/tooling/ https://webdevacademy.com.br/tag/wordpress/ https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643817170 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816968 http://disq.us/url?url=http%3A%2F%2Fwww.jasny.net%2Fbootstrap%2Fjavascript%2F%3AF_cH-cjksaYxxGtooLghLizvHH4&cuid=5342681 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816577 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816578 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816575 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816582 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816586 https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/#comment-3643816585 24/04/2020 Como Validar Formulários com o Bootstrap Validator - Web Dev Academy https://webdevacademy.com.br/tutoriais/validacao-formularios-bootstrap-validator/ 13/13 MAIS ACESSADOS CRUD com Bootstrap, PHP & MySQL - Parte I» Bootstrap: Criando Layouts e Grids» Bootstrap 4: Como Começar» Como Con�gurar um Servidor Local para Desenvolvimento Web» Aprenda a Fazer um CRUD com Bootstrap, PHP & MySQL» O RGULHO SAMENTE FEITO CO M WO RDPRESS | TEMA: BASKERVILLE 2 PO R ANDERS NO REN ACIMA ↑ https://webdevacademy.com.br/tutoriais/crud-bootstrap-php-mysql-parte1/ https://webdevacademy.com.br/tutoriais/bootstrap-layouts-sistema-grids/ https://webdevacademy.com.br/tutoriais/bootstrap-4-como-comecar/ https://webdevacademy.com.br/tutoriais/instalar-configurar-servidor-local/ https://webdevacademy.com.br/tutoriais/crud-bootstrap-php-mysql/ http://br.wordpress.org/ http://www.andersnoren.se/teman/baskerville-wordpress-theme/
Compartilhar