2012-04-21 9 views
13

Ho una forma complessa che mi richiede di attivare o disattivare specifici validatori in base alle selezioni effettuate dall'utente.asp.net disable/enable validator using Javascript

ValidatorEnable sembra fare il lavoro, ma sembra che quando chiamo questo metodo effettivamente spari anche il processo di convalida, senza che l'utente colpisca effettivamente il pulsante di invio.

È così che funziona?

+0

domanda migliore mi ha aiutato un sacco :) –

risposta

22

Alla fine ho trovato il modo migliore per farlo è stato quello di utilizzare il seguente codice:

var validatorObject = document.getElementById('<%=ValidHasShippingLocationZip.ClientID%>'); 
validatorObject.enabled = false; 
validatorObject.isvalid = true; 
ValidatorUpdateDisplay(validatorObject); 
+1

ha funzionato, non ho usato la proprietà isValid, ho lavorato solo con l'attivare o disattivare –

+1

Eccellente risposta mi ha aiutato un sacco !! –

+0

Perché sono ancora in grado di inviare il mio modulo asp.net mentre la funzione sopra riportata funziona con i miei validatori e mostra/nasconde il validatore? Non uso isValid nel mio codice dietro! – hsobhy

1

Ho scritto un codice che sembra in grado di soddisfare le vostre richieste. Iterate i validatori e abilitali di cui hai bisogno.

ValidatorEnable(validatorObj, true); 

quindi cancellare lo schermo, cancellare le informazioni di errore.

Il frammento di codice completo può essere trovato qui http://codelife.cybtamin.com/enable-and-disable-asp-net-validator-by-javascript/

+0

link non funziona più –

+0

@RobotMess link aggiornato – ValidfroM

+0

Non inviare solo link, link die. – tjleigh