CustomValidator [Résolu]

Signaler
Messages postés
127
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
29 mai 2014
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Bonjour!

J'utilise un customvalidator pour m'assurer que, lors de l'inscription, l'alias n'est pas déja utilisé. Cela fonctionne bien pour ca mais j'en profite aussi pour afficher un message d'erreur si le champ est vide et c'est sur ca que ca plante.....



Sub ValiderAlias(
ByVal sender
As
Object,
ByVal value
As ServerValidateEventArgs)



Dim cn
As
New Odbc.OdbcConnection("DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=C:\Inetpub\wwwroot\projet.mdb")


cn.Open()



Dim cmdAlias
As
New Odbc.OdbcCommand


cmdAlias.Connection = cn


cmdAlias.CommandText = "SELECT count(*) FROM usagers WHERE alias='" & value.Value & "'"



Dim nbrEnr
As
Integer = cmdAlias.ExecuteScalar


cn.Close()



If nbrEnr = 1
Or value.Value = ""
Then


value.IsValid =
False



Else : value.IsValid =
True



End
If

Merci pour votre aide

6 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Regarde ici : http://www.laboratoire-microsoft.org/quickstart/aspplus/doc/webvalidation.aspx

tu as pas mal d'exemple de controle de validation

<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Le code que tu nous montre ne dis rien, et d'abord c'est quoi ce
value.isvalid ? generalement la propriété isValid est en lecture
seule...



Pour valider la présence ou non d'un champ, il faut ajouter un requiredFieldValidator


<hr>

Cyril - http://Hoshimi.CodeS-SourceS.fr
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
Tu devrais faire ce test avant d'exécuter ta requête :
Si Value est null ou vide, pas besoin de lancer la requête.
Autrement tu executes la requête.

Ca plante... tu veux dire que tu as une erreur ou que ton message ne s'affiche pas ?

yopyop
Messages postés
127
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
29 mai 2014

Bon ok alors oublier le value.value = ""

Tu a lair a me dire que le isvalid n'a aucun rapport la ? Alors dis moi la syntax
pour un customvalidator.... moi j'ai trouvé cette syntax sur un site parce que
dans mon livre c'etais tres mal expliqué.

Je sias qu'il faut utiliser requiredfieldvalidator pour tester une chaine vide mais comme je suis en flow layout je voulais que mes 2 messages s'Affiche au meme endroit alors je me suis dis que je pouvais tester la chaine vide dans le meme controle qui est mon customcontrol
Messages postés
127
Date d'inscription
vendredi 21 janvier 2005
Statut
Membre
Dernière intervention
29 mai 2014

Merci pour le site je vais y jeter un oeil.... et non IsValid n'est pas en lecture seule il est possible de definir true ou false....

Cette fonction fonctionne tres bien .....



Sub ValiderAlias(
ByVal sender
As
Object,
ByVal value
As ServerValidateEventArgs)






Dim cn
As
New Odbc.OdbcConnection("DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=C:\Inetpub\wwwroot\projet.mdb")


cn.Open()



Dim cmdAlias
As
New Odbc.OdbcCommand


cmdAlias.Connection = cn


cmdAlias.CommandText = "SELECT count(*) FROM usagers WHERE alias='" & value.Value & "'"



Dim nbrEnr
As
Integer = cmdAlias.ExecuteScalar


cn.Close()



If nbrEnr = 1
Then


value.IsValid =
False



Else : value.IsValid =
True



End
If








End
Sub
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Ca depend, de ce qu'est value, generalement il vaut mieux ne pas le
toucher, mais je ne connais pas le type de value, donc je ne peux rien
dire.



La propriété isvalid est souvent modifié en interne par asp.net on peut
valider une page en faisant page.validate, et la tu peux savoir si la
page est valide ou non.

<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr