2009-07-06 6 views
0

Question assez simple.Utilisation du validateur de champ obligatoire pour désactiver ListBox

J'ai quelques ASP RequiredFieldValdators vérifiant certaines zones de texte. De la boîte, il vérifie la validation quand un bouton est pressé, la désactivant fondamentalement à moins que tous les champs soient remplis.

J'ai également une zone de liste avec un tas de points de données, qui chargent de nouvelles données dans les zones de texte qui sont en cours de validation.

Je souhaite m'assurer que l'utilisateur ne peut pas changer de point de données avant que tous les champs requis soient remplis. Comment puis-je « désactiver » la zone de liste (via la validation) similaire à la façon dont les boutons sont « handicapés »

S'il vous plaît ne hésitez pas à demander des éclaircissements

Répondre

0

Je viens de définir CauseValidation = "true" pour la liste. Cela m'a empêché de changer les points de données lorsque les champs actuels ne sont pas valides

Merci à tous

1

Les valideurs asp.net ne fournissent pas ce genre de fonctionnalité conditionnelle désactiver les contrôles. Vous aurez besoin d'écrire votre propre validateur (assez difficile, ou voir Peter Blum). Mieux vaut le gérer dans le gestionnaire d'événements de flou pour la zone de texte.

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#<%=yourTextbox.ClientID%>").blur(function(){ 
     $("#<%=yourDropDown.ClientID%>").attr("disabled","disabled"); 
     ValidateInputs();//You will validate inputs in this function 
     }); 
    }); 
</script> 

<script type="text/javascript"> 
    function ValidateInputs(){ 
    //.....Validations...... 
    if(validattions okay){ 
     $("#<%=yourDropDown.ClientID%>").attr("disabled",""); 
     } 
    } 
</script> 

PS: - Je en supposant que vous utilisez jQuery, sinon s'il vous plaît obtenir un peu de temps et de visiter jQuery.com et essayer.

0

Ecrire CauseValidation = « false » sur le bouton d'annulation de APSX page.

Questions connexes