2009-08-25 10 views
1

Si vous utilisez un contrôle CustomValidator et un contrôle ValidationSummary dans une page aspx pour la validation côté serveur, vous pouvez définir l'ErrorMessage du validateur et sa valeur Text apparaîtra à l'emplacement et la valeur ErrorMessage s'affiche dans le contrôle ValidationSummary.ValidationSummary avec côté client et validation côté serveur

Nice.

Maintenant, et si j'effectue également la validation côté client en javascript, est-il possible d'effectuer le même type d'affichage de message de validation que si le code côté serveur avait été déclenché? Pour que le ValidationSummary affiche son HeaderText habituel avec votre ErrorMessage supplémentaire et le CustomValidator afficherait sa valeur de texte (par exemple *)

Je peux probablement feindre pour côté client par rapport au côté serveur, mais ce serait bien d'utiliser le contrôles existants si possible.

Merci à l'avance pour des idées ou suggestions

Répondre

2

Vous pouvez faire en sorte que le validateur s'exécute du côté client lorsque vous définissez EnableClientScript comme vrai. ClientValidationFunction peut ensuite être défini sur le nom de la fonction javascript que vous écrivez pour valider le contrôle. Le reste du comportement du contrôle CustomValidator sera lié à ValidationSummary comme tout autre validateur, y compris en mettant le ErrorMessage dans l'en-tête, etc.

+0

Cela fonctionne très bien, mais il nécessite une publication (asynch ou autre) de toute façon pour y arriver via des événements javascript? Par exemple si vous vouliez valider une zone de texte onblur? –

+1

Si EnableClientScript est défini sur true, il n'y a pas de publication. Voici le MSDN avec un exemple: http://msdn.microsoft.com/en-us/library/f5db6z8k(VS.71).aspx Vous pouvez également faire les deux (côté client et côté serveur), comme l'exemple illustre. Je crois également que la validation se produit par défaut lorsque la zone de texte en cours de validation perd le focus (onblur). –

+1

Tout à fait raison, je n'avais pas l'ensemble ControlToValidate. Merci beaucoup! –

0

J'ai essayé d'obtenir à l'objet DOM pour le résumé lors de l'exécution, mais si vous avez une page très simple, I.R. pas de contrôles AJAX comme panneau etc, vous n'avez pas de chance.

Questions connexes