CustomValidator

SuperBouly Messages postés 410 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 8 mai 2010 - 4 sept. 2007 à 14:17
SuperBouly Messages postés 410 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 8 mai 2010 - 5 sept. 2007 à 10:56
Bonjour,
J'aimerais ecrire une clientValidatefunction pour un customValidator.
D'habitude, j'écris par exemple:
<script>
function maFonction(source, args)
{

var NP=   etc... etc...
;

var NE=  etc...etc...
;

var NbPl=  etc...etc...;

//Puis un test
if (eval(NP) + eval(NE) > NbPl )
{args.IsValid=
false;}

else
{args.IsValid=
true;}

}
</script>

Mais ici, j'aimerais passer en arguments (calculés par le serveur) les NP, NE et NbPl :
Dans une sub serveur:
Dim MonParametre1 as integer = etc...
Dim MonParametre2 as integer= etc...
Dim MonParametre3 as integer= ...

et ensuite
monCustomValidator.clientValidateFunction = "maFonction(MonParametre1 , MonParametre2 , MonParametre3 )"

enfin, maFonction(source, args)      deviendrait ---> 
 maFonction(source, args, NP, NE, MnPl)

Mais ça coince bien entendu sur "source" et "args" que le programme réclame.
J'ai essayé beaucoup de choses, mais je n'ai rien trouvé qui marche
Quelqu'un sait-il faire ça? : passer des arguments dans une clientValidateFunction
merci
Gilles

4 réponses

cs_blueangel Messages postés 69 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 19 mars 2009
5 sept. 2007 à 01:15
oui je vois ton probléme. bein j'en ai eu le même mais il y a deux solution.
la premiére c'est une bidouille je mets dans des inputs hidden les parametres au moment d'appel des clientValidatefunction  et aprés j'apelle des fonction javascript en mettant ces paramétres en argument par document.GetElementById('..') afin de garder l'indepedence entre le process de déclenchement de la validation et le rôle des fonctions.
le deuxiemme perso j'ai pas eu trop le temps de regarder c'est de définir plusieurs customcontrol sur tes entrée et faire un validation multiple controls tu peux creuser si tu as le temps et mets moi au courant
blueangel13
0
SuperBouly Messages postés 410 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 8 mai 2010
5 sept. 2007 à 07:17
merci de ta réponse.
En fait, pour être efficace et avancer, f'ai opté pour une solution analogue à ta 1ere solution : je récupère mes variables dans des contrôles cachés ou non. L'ennui, c'est que les controles, situés dans un formview, avec une masterpage, ont des ClientID. qui dépendent du nom des containers. Par exemple :

var NP=document.getElementById(
'ctl00_cphCourant_fvLocation_NbPersTextBox').value;

ce qui est laborieux et pas souple en cas de changements.
Mais je vais creuser ta 2e solution. Je ne vois pas bien en quoi elle consiste: Que sont ces customControls?
@+Gilles
0
cs_blueangel Messages postés 69 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 19 mars 2009
5 sept. 2007 à 09:51
oui c'est pratiquement ça!http://www.codeproject.com/aspnet/MultipleFieldsValidator.asp

blueangel13
0
SuperBouly Messages postés 410 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 8 mai 2010
5 sept. 2007 à 10:56
C'est une piste en effet, mais le projet présenté ne marche qu'avec des OR ou XOR, je ne peux malheureusement pas m'en servir tout brut (dommage! ça aurait été pratique !). Il faut donc aller dans le projet pour voir comment c'est fait et peut être adapter... à suivre, il faut que je mette le nez dedans.
merci @+Gilles
0
Rejoignez-nous