Skip to content

Per validazioni lato client in javascript nativo, si distacca da ogni framework javascript per il suo ciclo di vita - Valida form ed elementi singoli tag Html

License

Notifications You must be signed in to change notification settings

mssalvo/jPagevalid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jPagevalid

Per validazioni lato client in javascript nativo, si distacca da ogni framework javascript per il suo ciclo di vita - Valida form ed elementi singoli tag Html

Getting Started

  1. Includi jPagevalid sulla tua pagina prima della chiusura tag
<script src="/path/dist/1.x.x/jpagevalid.js"></script>

Metodi disponibili

Metodo Esempio Descrizione
get jPaging.get('nomeIstanza') crea una nova istanza se non presente o ritorna l'istanza associata al nome passato come parametro
form jPaging.form('id-form-html') inizializza una validazione per il form, crea una nova istanza associa all'istanza come nome l'id passato come parametro
isSubmit jPaging.get('nomeIstanza').isSubmit(false/true) abilita o disabilita l'invio modulo per l'evento submit associato al form
authorizeSend jPaging.get('nomeIstanza').authorizeSend() abilita comunque e sempre l'invio modulo anche in presenza di validazione negativa
addValidation jPaging.addValidation('nome-funzione',funzione,'messaggio-di-errore') addizziona alle funzioni di default una nuova funzione per validazioni personalizzate
changeFnMessage jPaging.get('nomeIstanza').changeFnMessage('nome-funzione','messaggio-modificato') cambia un messaggio associato ad una funzione di default o personalizzata
valid jPaging.get('nomeIstanza').valid() valida il form legato all'istanza se passato il parametro id valida l'elemento singolo del form jPaging.get('nomeIstanza').valid('id-input')
addInput jPaging.get('nomeIstanza').addInput({object-javascript}) addiziona un elemento da validare all'istanza corrente
include jPaging.get('nomeIstanza').include() addiziona tutti gli elementi con attributo jms-valid="{type:'required',etc..,etc..}" presenti nella pagina html all'istanza per la validazione
onChange jPaging.get('nomeIstanza').onChange(function(valid){}) esegue la funzione assegnata ad ogni cambiamento di un modulo, nel costruttore viene iniettato la validazione del form true/false
checkOnSubmit jPaging.get('nomeIstanza').checkOnSubmit() abilita - disabilita in modo automatico il pulsante submit per l'inivo del modulo [ di default e settato a false ]
checkOffSubmit jPaging.get('nomeIstanza').checkOffSubmit() disabilita il modo automatico, lascia all'utente gestire il pulsante submit

Esempio valida form, fonte dati da attribute jms-valid

   <form id="myformTest" action="...">
       <input type="text" id="01" jms-valid="{type:'requred,number'}">   
      <input type="submit" value="salva"> 
   </form> 
jPagevalid.form('myformTest')

per recuperare un istanzia precedente e utilizzare i metodi disponibili

esempio di nuova istanzia, applicare un validatore ad un form

jPagevalid.form('myformTest')
// Oppure
jPagevalid.get('myformTest').form()

esempio recupero istanzia

jPagevalid.get('myformTest')

valida tutto il form

jPagevalid.get('myformTest').valid()

valida un singolo elemento del form

jPagevalid.get('myformTest').valid('idElemento')

Esempio valida tag html, fonte dati da attribute jms-valid

   <div id="myTagTest">
       <input type="text" id="01" jms-valid="{type:'requred,number'}">   
       <input type="text" id="02" jms-valid="{type:'requred,email'}">  
   </div> 
jPagevalid.form('myTagTest')

Esempio valida pagina html, fonte dati da attribute jms-valid

   <body>
       <input type="text" id="01" jms-valid="{type:'requred,emain'}">   
       <input type="chekbox" id="02" jms-valid="{type:'requred'}"> 
       <input type="text" id="03" jms-valid="{type:'requred,number'}"> 
       <input type="text" id="04" jms-valid="{type:'requred,data'}"> 
       <input type="text" id="05" jms-valid="{type:'requred,time'}"> 
   </body> 
jPagevalid.get('mybody').include();

per validare l'itero body

jPagevalid.get('mybody').valid()

per validare il singolo elemento del body

jPagevalid.get('mybody').valid('01')
jPagevalid.get('mybody').valid('02')
jPagevalid.get('mybody').valid('03')

Aggiungere una funzione di validazione personalizzata

jPagevalid.addValidation('nome-funzione',function(v){},'messaggio di errore');

oppure

jPagevalid.form('myformTest').addValidation('nome-funzione',function(v){},'messaggio di errore');

Esempio

   <form id="myformTest" action="...">
      <input type="text" id="dataInizio" jms-valid="{type:'requred,date'}">   
      <input type="text" id="dataFine" jms-valid="{type:'requred,date,checkendate'}">   
      <input type="submit" value="salva"> 
   </form> 
jPagevalid.addValidation("checkendate",function(value,message,input,search) {
    	
    	var bbol = false;
    	var dataemissioneini = search('dataInizio').value;  // recupero l'elemento input[dataInizio] presente nell'oggetto jPagevalid
    	var dataemissionefine =search('dataFine').value;  // recupero l'elemento input[dataFine] presente nell'oggetto jPagevalid
    	
    	if ( dataemissioneini != '' && dataemissionefine != '' )
    	{
    		var datainizio =  new Date(dataemissioneini);
    		var datafine = new Date(dataemissionefine);
    		 if (datafine.getTime() > datainizio.getTime())         
    			 bbol = true;
    	}
    	return bbol;
     }, 'Inserire una data maggiore della data di inizio')
     .form('myformTest')
     .changeFnMessage('date','Si prega di specificare un formato data valido (GG/MM/AAAA)') // cambio il messaggio del metodo di defasult data
     .isSubmit(false); // disabilito l'invio del modulo tramite l'evento submit

Esempi di validazione tramite oggetto javascript

<form id="formTest4" class="needs-validation" novalidate>
            <div class="row">
              <div class="col-md-6 mb-3">
                <label for="firstName">First name</label>
                <input type="text" class="form-control" id="firstName4" placeholder="" value="">
                <div class="invalid-feedback" firstName4>
                  Valid first name is required.
                </div>
              </div>
              <div class="col-md-6 mb-3">
                <label for="total4">Total</label>
                <input type="text" class="form-control" id="total4" placeholder="" value="">
                <div class="invalid-feedback" total4>
                  Valid last name is required.
                </div>
              </div>
            </div>
  
            <div class="mb-3">
              <label for="email">Email </label>
              <input type="email" class="form-control" id="email4" placeholder="you@example.com">
              <div class="invalid-feedback" email4>
                Please enter a valid email address for shipping updates.
              </div>
            </div>

            <div class="mb-3">
              <label for="testoMin">Testo min 20 caratteri</label>
              <input type="text" class="form-control" id="testomin" placeholder=" ">
              <div class="invalid-feedback" testomin>
               min 20 caratteri.
              </div>
            </div>
 
            <hr class="mb-4">
            <button id="btnSubmit" class="btn btn-primary btn-lg btn-block" type="submit">save</button>
          </form>

Esempio 1

var obj_form = {
                      form: 'formTest4',
                      submit: true,
                      inputs: [
                          {
                           input: 'firstName4',
                           type: 'required'
                          },
                          {
                             input: 'total4',
                             type: 'required,number',
                             keyup: true,
                             keypress: true
                          },
                          { 
                           input: 'email4',
                           type: 'required,email',
                          },
                         {   input: 'testomin',
                             type: 'required',
                             keyup: true,
                             keypress: true
                               
                          }]}
        
         jPagevalid.form(obj_form);

Esempio 2

 jPagevalid.form('formTest4')
             .addInput({input: 'firstName4',type: 'required'})  
             .addInput({input: 'total4',type: 'required,number'}) 
             .addInput({input: 'email4',type: 'required,email'}) 
             .addInput({input: 'testomin',type: 'required,alphanumeric'}) 

Proprieta disponibili per l'oggetto javascript

Inserito come oggetto javascript

 {input: 'testomin',type: 'required',boxErr:'...',focus:false,blur:false,keyup:true,keypress:true,valid:function(v){},message:'...',equalsTo:'id1'}

Inserito tramite attribute html jms-valid

  <input type="text" jms-valid="{type:'requred,number',boxErr:'...',focus:false,blur:false,keyup:true,keypress:true,valid:function(v){},message:'...',equalsTo:'id1'}">    
Proprieta Type Descrizione
input String id del tag input da validare, obbligatorio se inserito in oggetto javascript. Non obbligatorio se inserito come oggetto in attribute jms-valid={}
type String nome della funzione di validazione separare piu nomi con la virgola(,) obbligatorio se si vuole eseguire una validazione
boxErr String id del tag che contiene il messaggio di errore, in alternativa se non si vuole utilizzare la proprieta, inserite come nome attributo html l'id del tag input nel tag che contiene il messaggio di errore esempio:<input id="citta"><div class="error" citta> messaggio di errore</div> [facoltativo]
focus boolean abilita e disabilita la validazione su focus di default e abilitata[facoltativo]
blur boolean abilita e disabilita la validazione su blur di default e abilitata[facoltativo]
keyup boolean abilita e disabilita la validazione su keyup di default e disabilitata[facoltativo]
keypress boolean abilita e disabilita la validazione su keypress di default e disabilitata[facoltativo]
valid function ulteriore funzione personalizzata la funzione deve ritornare un valore boolean true/false[facoltativo]
message String messaggio di errore personalizzato se inserito avrà prevalenza su tutti i messaggi[facoltativo]
equalsTo String id del tag input da uguagliare, separare piu id con la virgola(,)[facoltativo]
requiredIf String or function valida il campo solo se il campo indicato con l'id o la funzione passata ritorna esito positivo esempio: [campo1 checkbox], [campo2 input requiredIf:idcampo1] richiedo la validazione del campo2 solo se il campo1 è selezionato ,[facoltativo]

License

jPagevalid è disponibile sotto la licenza MIT. Vedi il LICENSE per maggiori informazioni.

About

Per validazioni lato client in javascript nativo, si distacca da ogni framework javascript per il suo ciclo di vita - Valida form ed elementi singoli tag Html

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages