Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Atteint de JavaScriptite Aiguë [Cyril Durand]

Expert ASP.net Ajax et WCF, Cyril Durand parle dans son blog de point techniques sur ASP.net, ASP.net Ajax, JavaScript, WCF et .net en général. Cyril est également consultant indépendant, n'hésitez pas à le contacter pour de l'assistance sur vos projets

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    Consultant freelance, n'hésitez pas à me contacter pour vos projets .net : architecture, accompagnement, formation, ...

    View Cyril Durand's profile on LinkedIn
    hit counters


    Expertise Commerce server et BizTalk

RegexStringValidator et propriété requise dans un élément de section de configuration personnalisé

Lorsqu'on créé une section de configuration personnalisé, .net permet de valider les entrées grâce aux attributs StringValidator et RegexStringValidator.

J'ai voulu utiliser l'attribut RegexStringValidator sur un élément de ma configuration afin de vérifier que l'entrée contenait un String "simple", j'ai donc écrit ce code :

public class IndexElement : ConfigurationElement { [RegexStringValidator(@"[\w\-\.]+")] [ConfigurationProperty("Name", IsKey = true, IsRequired = true)] public String Name { get { return (String)base["Name"]; } set { base["Name"] = value; } } }

Dans mon fichier de configuration, j'ai rajouté la ligne qui va bien, mais lorsque je charge la configuration j'obtiens cette erreur :

The value for the property 'Name' is not valid. The error is: The value does not conform to the validation regex string '[\w\-\.]+'.

Après quelques recherches, je me suis rendu compte que .net valide également la valeur par défaut, dans mon cas cette valeur vaut null ce qui ne valide pas l'expression régulière.

Pour corriger le problème, il faut renseigner une valeur par défaut, on peut le faire via l'attribut ConfigurationProperty.

[RegexStringValidator(@"[\w\-\.]+")] [ConfigurationProperty("Name", IsKey = true, IsRequired = true, DefaultValue="abc")] public String Name { get { return (String)base["Name"]; } set { base["Name"] = value; } }

La valeur par défaut importe peu, en effet si on ne renseigne pas la propriété, .net va retourner une exception puique nous avons marquer cette propriété comme "Required".

Posted: vendredi 6 juin 2008 00:18 par cyril
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

sebmafate a dit :

Bon à savoir... mais pas très facile à débugger !

# juin 6, 2008 09:13
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [RIA Services] Maitre - Détail et DomainDataSource par Blog Technique d'Audrey PETIT le il y a 1 heure et 52 minutes

- CSDL Function par Matthieu MEZIL le il y a 16 heures et 43 minutes

- LINQ To Entities par Matthieu MEZIL le il y a 20 heures et 15 minutes

- Faire apparaitre l’onglet ‘Développeur’ dans Office 2010 par Julien Chable le 03-13-2010, 01:41

- [Astuce] Patch pour Microsoft Forums NNTP Bridge V1 par Le petit blog de Pierre / Pierre's little blog le 03-12-2010, 23:31

- Pb lors de l’installation SharePoint 2010… par Le blog de Patrick le 03-12-2010, 14:08

- [WF4] Ajouter des contraintes à une activité (2/2) par Blog de Jérémy Jeanson le 03-12-2010, 08:35

- [WF4] Ajouter des contraintes à une activité (1/2) par Blog de Jérémy Jeanson le 03-12-2010, 08:03

- [ASP.NET] Ne pas se faire avoir par IHttpModule et sa méthode Init() par Thomas Jaskula le 03-12-2010, 00:04

- [MSTD10] SharePoint 2010 et Team Foundation Server par Philippe Sentenac [MVP SharePoint] le 03-11-2010, 10:49