2009-04-21 8 views

Répondre

11

Vous pouvez désactiver les validateurs côté client (en javascript):

function disable(validatorId) 
{ 
    var validator = document.getElementById(validatorId); 
    ValidatorEnable(validator, false); 
} 

Où validatorId est le clientID de le validateur doit être désactivé. Voir this page pour un exemple complet.

+0

Va vérifier, et agir en conséquence - merci. –

+1

Je devais ajouter ce qui suit après ValidatorEnable() pour masquer tous les messages de validateur existants. validator.isvalid = true; ValidatorUpdateDisplay (validateur); –

+0

Une meilleure solution utilisera le sélecteur jQuery de ces validateurs où ils peuvent avoir un état css commun, tel que caché – Jaider

3

Vous pouvez désactiver les validateurs côté serveur:

MyFieldValidator.Enabled = MyCheckBox.Checked 

Page.Validate() 
If Page.IsValid Then 
    'stuff 
end if 
2

Si vous invalidantes côté serveur, vous pouvez faire

button1.CausesValidation = False 

dans votre CheckChangedEvent c'est plus utile si vous avez beaucoup de validateurs et la nécessité de les désactiver tous.

+0

protected void NoValidation_CheckedChanged (expéditeur d'objet, EventArgs e) { SubmitButton.CausesValidation =! NoValidation.Checked; } –

Questions connexes