Livevalidation: applicare validazione solo se si sceglie una option di una select.

  • Creatore Discussione Creatore Discussione monak83
  • Data di inizio Data di inizio

monak83

Nuovo Utente
27 Ott 2006
7
0
0
Ciao a tutti,
ho il seguente problema con questa form raggiungibile all'indirizzo:
http://www.sgagrafica.com/index.php?page=shop.product_details&flypage=flypage_new.tpl&product_id=100&category_id=7&option=com_virtuemart&Itemid=126&vmcchk=1&Itemid=118

Vorrei inserire un controllo sui prodotti in offerta per i quali il minimo d'ordine è che la SUPERFICIE di stampa sia almeno 10 metri quadrati.
Per fare ciò ho utilizzato la libreria livevalidation con il seguente codice:

Codice:
if ( (tipo=="10") || (tipo=="20") ) {
    //alert("sei dentro");
 window.addEvent('domready', function(){
  var valid = new LiveValidation('text_4', {insertAfterWhatNode : "errore"}); //visualizzo il messaggio d'errore nel paragrafo con id "errore"
  valid.add(Validate.Numericality, { minimum: 10, tooLowMessage: "Minimo 10 mq per i prodotti in OFFERTA" });
  });
  }

Tutto funziona correttamente se seleziono un prodotto in offera dalla select, ma se poi cambio prodotto e scelgo un prodotto non in offerta la validazione continua a bloccarmi la form, come se, una volta letto il codice di validazione lo utilizzasse finechè non si ricarica la pagina.
Allora ho provato ad ovviare aggiungendo altro codice e facendo diventare la mia validazione cosi:

Codice:
if ( (tipo=="10") || (tipo=="20") ) {     //alert("sei dentro");
window.addEvent('domready', function(){   
var valid = new LiveValidation('text_4', {insertAfterWhatNode : "errore"});
valid.add(Validate.Numericality, { minimum: 10, tooLowMessage: "Minimo 10 mq per i prodotti in OFFERTA" });   });   }
else {
window.addEvent('domready', function(){   
var valid = new LiveValidation('text_4', {insertAfterWhatNode : "errore"});
valid.remove(Validate.Numericality, { minimum: 10, tooLowMessage: "Minimo 10 mq per i prodotti in OFFERTA" });   });   };

In questo modo il messaggio di validazione nel paragrafo con id "errore", che prima compariva anche su prodotti non in offerta, scompare ma la form rimane bloccata senza poter andare avanti.
In pratica mi sembra di aver capito che il browsere una volta selezionato un prodotto in offerta va a leggere il pezzo di codice IF e applica la validazione; ma la applica anche successivamente ai prodotti non in offerta.

Come poter risolvere?

Intanto grazie mille della vostra disponibilità.

Saluti
monak83
 

Discussioni simili