Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    jquery validator check su 2 campi almeno 1 selezionato

    ciao

    Sto usando jquery.validate.js per un form ed ho un caso "particolare" almeno per me
    ---------------------------------------------------------------------------------
    ho 2 select e devo controllare che su 2 select almeno 1 valore della select 1 o della select 2 sia stato selezionato.

    come implementare questo?
    Tanto...lo fanno tutti... posso farlo anche io vero?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Se non ricordo male puoi fare qualcosa del genere, il plugin inoltre ti permette di creare metodi personalizzati per i tuoi scopi:

    codice:
    campo1: {
          required: function() {
            return $("#campo2").val() == "";
          },
    campo2: {
          required: function() {
            return $("#campo1").val() == "";
          }
    }

  3. #3
    Grazie Vindav
    Provo subito
    ....si è un ottimo plugin!!
    Tanto...lo fanno tutti... posso farlo anche io vero?

  4. #4
    Ekkime

    niente non mi funziona, mi sa comunque che sbaglio io qualcosa perchè il tuo suggerimento è logico.
    questo il mio codice js
    codice:
    <script type="text/javascript">
    $(document).ready(function()
    {
    	$.validator.addMethod("name_regex", function(value, element) { 
    		return this.optional(element) || /^[a-z0-9\.\-_]{3,30}$/i.test(value); 
    		}, "Sono consentiti solo lettere numeri!");
    		
    
    	$("#trattamentoform").validate(
    	{
            rules:{
    		'codice':{
    			required: true,
    			name_regex: true,
    			remote:{
    				url: "crea-trattamento3.php",
    				type: "post"
    				}
    			},
    		'descrizione':{
    			required: true,
    			},
    		'tipotrattamento':{
    			required: true,
    			values: true,
    			},
    			
    			'cabine[]': {
    				  required: function() {
    					return $("#cabinemedica").val() == "";
    				  },
    			'cabinemedica[]': {
    				  required: function() {
    					return $("#cabine").val() == "";
    				  },
    			}
    		},
    		
            messages:{
    		'codice':{
    			required: "Il campo codice è obbligatorio!",
    			remote: "Il codice inserito non è disponibile!"
    			},
    		'descrizione':{
    			required: "Il campo descrizione è obbligatorio!",
    			},
    		'tipotrattamento':{
    			required: "Il campo tipo trattamento è obbligatorio!",
    			},
    		'cabine[]':{
    			required: "Il campo cabine è obbligatorio!",
    			},
    		}
    	});
    });
    </script>
    ho dimenticato qualche virgola o qualche parentesi? ..lo script non mi valida nemmeno gli altri campi
    Tanto...lo fanno tutti... posso farlo anche io vero?

  5. #5
    Aggiungo
    'cabine[]' e 'cabinemedica[]' sono due select multiple

    cabine[] se selezionato 1 valore non mi deve pulire i valori selezionati di cabinemedica[] e viceversa (devo mantenerli entrambi)

    al submit del form devo controllare se cabine oppure cabinemedica presenta almeno 1 valore selezionato non mi importa quale delle due basta che ci sia almeno un valore.

    Non devo spedire il form se cabine o cabinemedica non presentano valori selezionati
    Tanto...lo fanno tutti... posso farlo anche io vero?

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ad occhio manca una parentesi(ma mancava anche nel mio esempio) e c'è qualche virgola di troppo, prova a modificare cosi:

    codice:
    'cabine[]': {
       required: function() {
              return $("#cabinemedica").val() == "";
       }
    } ,
    'cabinemedica[]': {
        required: function() {
             return $("#cabine").val() == "";
       }
    }

  7. #7
    si così facendo mi fa le altre validazioni ma le 2 multiselect non me le considera
    Tanto...lo fanno tutti... posso farlo anche io vero?

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    hai impostato l'id alle 2 select?

  9. #9
    <select name="cabine[]" id="cabine" multiple="multiple" class="heightmultiple">
    <select name="cabinemedica[]" id="cabinemedica" multiple="multiple" class="heightmultiple">

    Tanto...lo fanno tutti... posso farlo anche io vero?

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    il problema è che sono select a scelta multipla, cambia il codice cosi:

    codice:
    'cabine[]': {
       required: function() {
              return $("#cabinemedica option:selected").size() === 0;
       }
    } ,
    'cabinemedica[]': {
        required: function() {
             return $("#cabine option:selected").size() === 0;
       }
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.