IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

CustomValidator qui ne bloque pas l'envoi de la page


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Par défaut CustomValidator qui ne bloque pas l'envoi de la page
    Bonjour,

    J'ai mis en place un customValidator pour vérifier l'antériorité de deux dates mais quoiqu'il arrive, quand je clique sur un bouton, la page est rechargée, même si il y a une erreur sur la date (le message d'erreur apparait).
    Il n'est pas possible que le bouton n'ai aucun effet (pas de rechargement de la page) si le custom control n'est pas valide ?

    Merci

    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                    <td>
                        End Date
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox7" runat="server" MaxLength="11" tooltip="dd/mm/yyyy"></asp:TextBox>
                        <asp:CustomValidator ID="customValidator1" runat=server 
                            ControlToValidate="TextBox7" ErrorMessage="Not possible ! Dude !" 
                            onservervalidate="customValidator1_ServerValidate" />
     
                    </td>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        protected void customValidator1_ServerValidate(object source, ServerValidateEventArgs args)
        {
            DateTime t1, t2;
            t1 = DateTime.Parse(TextBox7.Text.ToString());
            t2 = DateTime.Parse(tbStartDate.Text.ToString());
            if (DateTime.Compare(t1, t2) > 0)
                args.IsValid = true;
            else
            {
                args.IsValid = false;
            }
        }

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    T'as mis un contrôle côté serveur donc forcement ça fait un post back

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Par défaut
    Oui, c'est ce que j'ai pensé après avoir posté mon message..
    Il y a un moyen de tester si une date est supérieur à une autre sans recharger la page (les dates sont contenues dans des TextBox) ? Javascript peut etre ?

    Sinon, si je garde cette solution, il faut que je mette en place des propriétés page.IsValid dans mon code behind ?

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Citation Envoyé par Titi41 Voir le message
    Sinon, si je garde cette solution, il faut que je mette en place des propriétés page.IsValid dans mon code behind ?
    Oui je pense

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Par défaut
    Citation Envoyé par Titi41 Voir le message
    Il y a un moyen de tester si une date est supérieur à une autre sans recharger la page (les dates sont contenues dans des TextBox) ? Javascript peut etre ?
    Et sinon, concernant cette question ?

  6. #6
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Citation Envoyé par Titi41 Voir le message
    Et sinon, concernant cette question ?
    Oui, tu dois le faire en Javascript.

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Par défaut
    J'ai réfléchi, et je vais quand meme le faire en C# (chiant le mec ^^)

    J'ai fait un peu de débug et quoi qu'il arrive, la fonction de mon bouton est exécutée... Comme ca se fait ?
    Je poste mon code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    using System;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using Utilities;
     
    public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
     
        }
     
        protected void customValidator1_ServerValidate(object source, ServerValidateEventArgs args)
        {
            DateTime t1, t2;
            t1 = DateTime.Parse(TextBox7.Text.ToString());
            t2 = DateTime.Parse(tbStartDate.Text.ToString());
            if (DateTime.Compare(t1, t2) > 0)
                args.IsValid = true;
            else
            {
                args.IsValid = false;
            }
        }
     
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Write("IN");
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
     
     
            <table>            <tr>
                    <td>
                        Start Date
                    </td>
                    <td>
                        <asp:TextBox ID="tbStartDate" runat="server" MaxLength="11" tooltip="dd/mm/yyyy"></asp:TextBox>
     
                    </td>
                </tr>
                <tr>
                    <td>
                        End Date
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox7" runat="server" MaxLength="11" tooltip="dd/mm/yyyy"></asp:TextBox>
                        <asp:CustomValidator ID="customValidator1" runat=server 
                            ControlToValidate="TextBox7" ErrorMessage="Not possible ! Dude !" onservervalidate="customValidator1_ServerValidate" 
                             />
     
            <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
     
     
                    </td>
                </tr></table>
        </form>
    </body>
    </html>
    Merci de jeter un oeil.. Je redoute l'erreur de merde ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Message attente qui ne bloque pas l'affichage en background
    Par gentyjp dans le forum Windows Forms
    Réponses: 1
    Dernier message: 17/05/2008, 00h25
  2. Temporisation qui ne bloque pas l'application
    Par Zorgloub dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/02/2008, 16h55
  3. alert() qui ne bloque pas le chargement de la page ?
    Par Cofondinde dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/08/2007, 10h31
  4. recvfrom qui ne bloque pas ?
    Par innosang dans le forum Réseau
    Réponses: 1
    Dernier message: 21/06/2007, 11h11
  5. Réponses: 8
    Dernier message: 25/11/2005, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo