CustomValidator qui ne se déclenche pas
Bonjour,
Et oui c'est encore moi ... à croire que les CustomValidator me haïssent xD
Bon alors petit topo rapide : j'ai un RequireFieldValidator et un CustomValidator qui vérifie tous les deux un TextBox censé représenté le numéro d'un jour dans le mois ( allant de 1 à 31 donc ).
Voici le code de RequireFieldValidator et du CustomValidator :
Code:
1 2 3 4 5 6 7 8 9
|
<asp:RequiredFieldValidator ID="RequiredFieldValidatorJour" runat="server"
ControlToValidate="TextBoxJour"
ErrorMessage="<img src="image-erreur.png"></img> Un jour doit être saisi"><img
src="image-erreur.png"></img></asp:RequiredFieldValidator>
<asp:CustomValidator ID="CustomValidatorJour" runat="server"
ClientValidationFunction="ClientValidateJour" ControlToValidate="TextBoxJour"
ErrorMessage="<img src="image-erreur.png"></img> Jour incorrect"><img
src="image-erreur.png"></img></asp:CustomValidator> |
J'ai donc codé le ServerValidate associé au CustomValidator ( coté serveur ) ainsi que la fonction JavaScript associé ( coté client ), que voici respectueusement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
protected void CustomValidatorJour_ServerValidate(object source, ServerValidateEventArgs args)
{
string element = TextBoxJour.Text;
int elementInt;
try
{
elementInt = int.Parse(element);
if ( elementInt < 1 || elementInt > 31 )
{
args.IsValid = false;
}
}
catch ( Exception ex )
{
args.IsValid = false;
CustomValidatorJour.ErrorMessage = "<img src=\"image-erreur.png\"></img> Jour incorrect";
}
} |
Code:
1 2 3 4 5 6 7
|
function ClientValidateJour(oSrc, args){
if (isNaN(args.Value) == true || args.Value < 1 || args.Value > 31)
{
args.IsValid = false;
}
} |
Si je clic sur mon bouton "Ajouter l'évènement", j'ai tout une méthode qui s'exécute : requête INSERT INTO, redirection sur une autre page.
Si le TextBox est vide, en effet, la procédure se bloque et mon message d'erreur de mon RequireFieldValidator est bien affiché dans mon ValidationSummary.
Mais pour mon CustomValidator c'est autre chose : si je met le TextBox à 0 ou à 38 par exemple, le texte du CustomValidator s'affiche dès que je passe sur un autre TextBox, mais RIEN n'est affiché dans le ValidationSummary et de surcroit, RIEN ne bloque l'exécution de ma méthode.
Soit je suis extrement nul avec les CustomValidator, soit je ni comprend plus rien ...
Un peu d'aide please :)
Merci de toutes réponses qui me sera utile :p