Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html lang="pt-br">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Formulário de Cadastro</title>
- <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
- <style>
- .error {
- color: red;
- }
- </style>
- </head>
- <body>
- <div class="container mt-5">
- <div style='display: none;' id="mensagem-erro" class="alert alert-danger">
- <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
- <path d="M12 20C16.4187 20 20 16.4187 20 12C20 7.58125 16.4187 4 12 4C7.58125 4 4 7.58125 4 12C4 16.4187 7.58125 20 12 20ZM12 8C12.4156 8 12.75 8.33437 12.75 8.75V12.25C12.75 12.6656 12.4156 13 12 13C11.5844 13 11.25 12.6656 11.25 12.25V8.75C11.25 8.33437 11.5844 8 12 8ZM13 15C13 15.5531 12.5531 16 12 16C11.4469 16 11 15.5531 11 15C11 14.4469 11.4469 14 12 14C12.5531 14 13 14.4469 13 15Z" fill="#DA1414"></path>
- </svg>
- <span class="message"><strong>Uma ou mais informações divergem do cadastrado na Receita Federal. Insira os dados corretos e tente novamente.</strong></span>
- </div>
- <h2 class="mb-4">Formulário de Cadastro</h2>
- <form id="cadastroForm" class="needs-validation" novalidate>
- <div class="form-group">
- <label for="nome">Nome Completo</label>
- <input type="text" class="form-control" id="nome" name="nome" required>
- </div>
- <div class="form-group">
- <label for="cpf">CPF</label>
- <input type="text" class="form-control" id="cpf" name="cpf" maxlength="11" required>
- </div>
- <div class="form-group">
- <label for="dataNascimento">Data de nascimento</label>
- <input type="date" class="form-control" id="dataNascimento" name="dataNascimento" required>
- </div>
- <button type="submit" class="btn btn-primary">Enviar</button>
- </form>
- </div>
- <!-- Carrega o jQuery -->
- <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.21.0/jquery.validate.min.js"></script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.21.0/additional-methods.min.js"></script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.21.0/localization/messages_pt_BR.min.js"></script>
- <!-- Carrega o jQuery Mask Plugin -->
- <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>
- <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
- <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
- <script>
- $(document).ready(function() {
- // Aplica a mascara ao campo CPF
- $('#cpf').mask('000.000.000-00');
- // Validacao personalizada para CPF
- $.validator.addMethod("cpf", function(value, element) {
- value = value.replace(/[^\d]+/g, '');
- if (value.length !== 11) return false;
- let sum = 0, remainder;
- for (let i = 1; i <= 9; i++) sum += parseInt(value.substring(i - 1, i)) * (11 - i);
- remainder = (sum * 10) % 11;
- if ((remainder == 10) || (remainder == 11)) remainder = 0;
- if (remainder != parseInt(value.substring(9, 10))) return false;
- sum = 0;
- for (let i = 1; i <= 10; i++) sum += parseInt(value.substring(i - 1, i)) * (12 - i);
- remainder = (sum * 10) % 11;
- if ((remainder == 10) || (remainder == 11)) remainder = 0;
- return remainder == parseInt(value.substring(10, 11));
- }, "Por favor, insira um CPF válido.");
- // Configuração do validador
- $("#cadastroForm").validate({
- rules: {
- nome: {
- required: true,
- minlength: 5
- },
- cpf: {
- required: true,
- cpf: true,
- },
- dataNascimento: {
- required: true,
- date: true
- }
- },
- messages: {
- nome: {
- required: "Por favor, insira seu nome completo.",
- minlength: "O nome deve ter pelo menos 5 caracteres."
- },
- cpf: {
- required: "Por favor, insira seu CPF."
- },
- dataNascimento: {
- required: "Por favor, insira sua data de nascimento.",
- date: "Por favor, insira uma data válida."
- }
- },
- submitHandler: function(form) {
- // Captura os valores dos campos e cria um objeto
- const formData = {
- nome: $("#nome").val(),
- cpf: manterNumero($("#cpf").val()),
- dataNascimento: $("#dataNascimento").val()
- };
- // Exibe o objeto no console
- console.log("Objeto com os dados do formulário:", formData);
- $('#mensagem-erro').show();
- //alert("Formulário enviado!");
- console.log("#cadastroForm");
- //form.submit();
- }
- });
- });
- function manterNumeros(cpf) {
- return cpf.replace(/[^\d]+/g, '');
- }
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement