Lors de l'utilisation de formulaires InfoPath, il est courant d'utiliser du code managé pour réaliser des actions supplémentaires lors de la validation d'un formulaire (envoi de mails avec pièce jointe, mise à jour de bases métiers, appels de web service).
Dans la plupart des cas, lors de la validation, un bouton de type "Envoyer" (Submit) vérifie que tous les champs du formulaire sont correctement renseignés.
Malheureusement, dans le cas d'un formulaire de type InfoPath Forms Services utilisant du code managé, cette vérification n'est pas réalisée sur les champs situés à l'intérieur d'une section masquée.
Pour s'affranchir de ce problème contraignant, il est possible d'utiliser le code suivant:
Ainsi, si le clic sur le bouton génère l'entrée dans le code managé, ce bout de code permettra de vérifier que le formulaire ne contient aucune erreur de validation (réalisée par le test this.Errors.Count == 0).
Le message suivant sera affiché :
En regardant de plus prêt le code, vous pourrez constater que ces libellés ne sont pas codés en dur mais récupérés directement depuis les fichiers de ressources de SharePoint utilisés par InfoPath.