Mateus P. 0 Denunciar post Postado Junho 24, 2015 Tenho um formulário html quero que seja obrigatório preencher o tanto xis de números para telefone e CPF, por exemplo, CPF digitar 14 digitos incluindo com caracteres e ser números válido no caso. Eu tinha feito uma validação que cadastrava só números mas cadastrava tudo que é número sem ser válido e queria que não repetisse, por exemplo, um que já foi cadastrado. Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 24, 2015 você pode fazer de duas formas.. ou você verifica após fazer o submit no formulário, ou você faz uma verificação via AJAX após sair do campo.. Um exemplo que tenho aqui utilizando ajax (jquery) <form> <input type="text" id="patrimonio" name="patrimonio" placeholder="Patrimônio"> <button type="submit" id="botaoSalvar">Salvar</button> </form> <script> $("input#patrimonio").focusout(function() { var valor = $(this).val(); $.ajax({ method: "POST", url: "_ajax.php", data: { acao: "patrimonio", patrimonio: valor } }).done(function( retorno ) { if (retorno == 0) { $("input#patrimonio").removeClass("alert-danger"); $("button#botaoSalvar").attr("disabled",false); } else { $("input#patrimonio").addClass("alert-danger"); $("button#botaoSalvar").attr("disabled",true); } }); }); </script> arquivo _ajax.php <?php require("conexao.php"); $acao = $_POST["acao"]; if ($acao == "patrimonio") { $patrimonio = $_POST["patrimonio"]; $rs = $pdo->query("SELECT count(*) as TOTAL FROM $tb_equipamento WHERE PATRIMONIO='$patrimonio'"); foreach ($rs as $row) { echo $row["TOTAL"]; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Diego Rinno 35 Denunciar post Postado Junho 24, 2015 Você pode usar uma máscara jQuery pra facilitar a coisa com o campo input do CPF. Desse jeito, necessariamente vai entrar só números e já vai colocar no modelo certinho. Uma boa máscara que você pode usar é a que a Fábrica de Micro disponibiliza, pra usar é fácil: coloca o link pro arquivo da máscara e outro pro arquivo do jQuery, é claro. Se não colocar os dois, não funciona: <script src="https://www.fabricademicro.com.br/Index/jquery-1.11.2.js" type="text/javascript" language="javascript"></script> <script src="https://www.fabricademicro.com.br/Index/jQueryMask.js" type="text/javascript" language="javascript"></script> Pra usar a máscara é bem simples, basta definir o modelo no OnLoad da página e então a pessoa vai ter que inserir os números do CPF seguindo o padrão que você fornecer: $(document).ready(function(){ $("input[name=cpf]").mask("999.999.999-99");//Inicia o campo como CPF }); O name do input você define do jeito que quiser, coloca o name do seu input lá. O importante mesmo é a máscara. Colocar os números "999.999.999-99" define que o usuário só vai poder inserir números nesse input. O resto a máscara faz sozinha. Agora, pra validar se o CPF é verdadeiro, tem uns algorítimos prontos pela net que fazem isso, mas não é muito simples não. Pra não repetir um CPF que já foi cadastrado, simplesmente faça uma busca no seu banco de dados pelo número de CPF que o visitante inseriu. Se achar algum registro, cancele o script e avise ao usuário que o CPF já foi cadastrado e mande ele colocar outro número. Exemplo: $cpf = $_POST["cpf"]; $resultado = $mysqli->query("SELECT * FROM tabela WHERE cpf='$cpf'"); if($resultado->num_rows == 0){ // Executa o script normalmente }else{ // Avisa ao usuário que o CPF já está cadastrado e manda ele escolher outro } Espero ter ajudado. Compartilhar este post Link para o post Compartilhar em outros sites
Mateus P. 0 Denunciar post Postado Junho 26, 2015 Obrigado a todos , para não cadastrarem iguais pus uma chave unique para CPF lá no banco que possui valor único. Compartilhar este post Link para o post Compartilhar em outros sites