2010-08-26 22 views
2

J'ai le scénario suivant..net Validation d'une plage de contrôles

J'ai une page de recherche qui est divisée en deux divs. Dans le premier, un utilisateur peut créer des paramètres de requête en utilisant une gamme de menus déroulants. Dans le second div, un utilisateur peut entrer du texte pour rechercher le paramètre de la requête et affiner la recherche. Dans l'événement déroulant selectedindex change, un bouton radio est sélectionné pour indiquer quelle recherche est regardée.

à savoir

div1 div2 

ddl1 tbx1 
ddl2 ddl4 
ddl3 
rad1 rad2 

en fonction de leur sélection, l'utilisateur peut alors cliquer sur un bouton, btnReturn, qui renvoie la requête.

Par conséquent, j'ai les questions suivantes.

  1. Si j'ai une gamme de bas de baisse, dans div1, quel genre de validation ai-je besoin de mettre en place de façon à ce qu'au moins un de ces bas de chute doit être sélectionnée pour une requête à sélectionner . Je ne peux pas mettre dans les champs obligatoires car tous ces champs ne sont pas nécessaires, un minimum de l'un d'eux est nécessaire pour produire une recherche raisonnable.

  2. Je suppose que je peux faire tout cela en utilisant. Net validation?

  3. Je pense que je peux utiliser des groupes de validation pour div1 & div2 mais est-il possible d'assigner les deux groupes à un contrôle, c'est-à-dire btn click? Est-ce un cas de faire la dernière partie par programme?

Et cela conclut l'essai d'aujourd'hui! toute aide, comme toujours, grandement appréciée.

Répondre

0
  1. Créez un contrôle utilisateur (ou un contrôle personnalisé) en enveloppant toutes les listes déroulantes. Ensuite, créez un Custom Validator, définissez son contrôle validé sur l'encapsuleur que vous avez créé. Écrivez une fonction javascript pour vérifier qu'au moins une valeur est sélectionnée dans les listes déroulantes et définissez la propriété ClientValidationFunction du validateur personnalisé pour l'utiliser.

  2. Oui. Non, cela ne fonctionnerait pas dans votre cas (à moins que vous ne vouliez un postback lorsque vous passez d'un DIV à l'autre). Créez deux boutons d'envoi, et cachez-les sur le client en fonction de la DIV sélectionnée.