Changeset 956d737 in portal_2019


Ignore:
Timestamp:
Nov 6, 2019, 11:52:16 AM (5 years ago)
Author:
Angelo Osorio <danielking.321@…>
Branches:
master, dev, portal
Children:
2855bd1
Parents:
e8c9209
Message:

agregada la validación al formulario

File:
1 edited

Legend:

Unmodified
Added
Removed
  • php/sign.php

    rb1a751e r956d737  
    4545          <div class="row">
    4646            <div class="col-10 offset-1 col-md-8 offset-md-2 pt-4">
    47               <form action="./run_script.php" method="POST" enctype="multipart/form-data">
     47              <form id="form-sign" action="./run_script.php" method="POST" enctype="multipart/form-data">
    4848
    4949                <div class="input-group pb-3">
    5050                  <div class="custom-file">
    51                     <input id="pdf" class="custom-file-input" type="file" name="pdf" accept=".pdf" required tabindex="1">
     51                    <input id="pdf" class="custom-file-input" type="file" name="pdf" accept=".pdf" required
     52                           tabindex="1" />
    5253                    <label class="custom-file-label" for="pdf">Seleccionar PDF</label>
    5354                  </div>
     
    5657                <div class="input-group pb-3">
    5758                  <div class="custom-file">
    58                     <input id="pkcs12" class="custom-file-input" type="file" name="pkcs12" accept=".p12" required tabindex="2">
     59                    <input id="pkcs12" class="custom-file-input" type="file" name="pkcs12" accept=".p12" required
     60                           tabindex="2" />
    5961                    <label class="custom-file-label" for="pkcs12">Seleccionar certificado PKCS12</label>
    6062                  </div>
     
    6971
    7072                <div class="form-group text-center">
    71                   <input class="btn btn-primary btn-block" name="submit" type="submit" value="Firmar" tabindex="4">
     73                  <input id="sign-button" class="btn btn-primary btn-block" name="submit" type="submit" value="Firmar"
     74                         tabindex="4" />
    7275                </div>
    7376
     
    9093       * Función para imprimir los nombres en los label de los input[type=file]
    9194       */
    92       var files = document.querySelectorAll('.custom-file-input');
    93       var fileLabel = document.querySelectorAll('.custom-file-input ~ .custom-file-label');
     95      var files, fileLabel, signButton, signValidation, formSign;
     96
     97      formSign = document.getElementById('form-sign');
     98      files = document.querySelectorAll('.custom-file-input');
     99      fileLabel = document.querySelectorAll('.custom-file-input ~ .custom-file-label');
     100      signButton = document.getElementById('sign-button');
     101      signValidation = [2, 2];
     102
     103      function validateExtension(name, ext){
     104        let buscarElemento = name.indexOf(ext);
     105        return buscarElemento;
     106      }
     107
    94108      for (var i = 0; i <= files.length -1; i++) {
    95109        files[i].addEventListener('change', function() {
    96110          let backslack = this.value.lastIndexOf("\\") + 1;
    97           let namePDF = this.value.slice(backslack, this.value.length)
     111          let namePDF = this.value.slice(backslack, this.value.length);
    98112          this.nextElementSibling.innerText = namePDF;
    99113        });
    100114      }
     115
     116      // Validación que el primer input sea un pdf
     117      files[0].addEventListener('change', function() {
     118        let backslack = this.value.lastIndexOf("\\") + 1;
     119        let namePDF = this.value.slice(backslack, this.value.length);
     120        let validation = validateExtension(namePDF, "pdf");
     121
     122        if (validation == -1){
     123          this.nextElementSibling.classList.add("border-danger");
     124          this.nextElementSibling.classList.add("text-danger");
     125          this.nextElementSibling.innerText = namePDF + " no es un archivo PDF";
     126          signValidation[0] = 1;
     127        } else {
     128          this.nextElementSibling.classList.remove("border-danger");
     129          this.nextElementSibling.classList.remove("text-danger");
     130          signValidation[0] = 0;
     131        }
     132      });
     133
     134      files[1].addEventListener('change', function() {
     135        let backslack = this.value.lastIndexOf("\\") + 1;
     136        let namePDF = this.value.slice(backslack, this.value.length);
     137        let validation = validateExtension(namePDF, "p12");
     138
     139        if (validation == -1){
     140          this.nextElementSibling.classList.add("border-danger");
     141          this.nextElementSibling.classList.add("text-danger");
     142          signValidation[1] = 1;
     143
     144          this.nextElementSibling.innerText = namePDF + " no es un archivo p12";
     145        } else {
     146          this.nextElementSibling.classList.remove("border-danger");
     147          this.nextElementSibling.classList.remove("text-danger");
     148          signValidation[1] = 0;
     149        }
     150
     151      });
     152      // Valida que los
     153      formSign.addEventListener('submit', function(event){
     154        if (signValidation[0] != 0 || signValidation[1] != 0){
     155          event.preventDefault();
     156        }
     157      });
     158
    101159    })();
    102160
Note: See TracChangeset for help on using the changeset viewer.