CustomValidator

Résolu
hudon77 Messages postés 127 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 29 mai 2014 - 28 févr. 2005 à 06:34
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 1 mars 2005 à 12:15
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

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 mars 2005 à 00:42
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
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
28 févr. 2005 à 21:10
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
0
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
28 févr. 2005 à 23:48
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
0
hudon77 Messages postés 127 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 29 mai 2014
1 mars 2005 à 00:35
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hudon77 Messages postés 127 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 29 mai 2014
1 mars 2005 à 05:34
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
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 mars 2005 à 12:15
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
0
Rejoignez-nous