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 :

[.net 2 - c# - spring] MaxLength et TextBox multiligne


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par défaut [.net 2 - c# - spring] MaxLength et TextBox multiligne
    Salut !

    J'ai un souci avec un TextBox multiligne. J'ai défini l'attribut MaxLength à 255 pour éviter que l'utilisateur saisisse plus de 255 caractères mais ça ne fonctionne pas, j'arrive à saisir + de caractères.

    Dans un tutoriel il était mentionné de renseigner l'attribut Columns, ce que j'ai fait mais toujours le même souci.

    Si quelqu'un à une idée...

    Merci d'avance pour vos réponses...

    Alex

  2. #2
    Membre expérimenté
    Homme Profil pro
    Consultant SharePoint
    Inscrit en
    Mars 2006
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SharePoint
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 270
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <asp:TextBox ID="TextBoxTaskDetail" runat="server" Height="90px" TextMode="MultiLine" Width="145" ></asp:TextBox>

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par défaut
    Merci pour la réponse mais ça ne fonctionne toujours pas !

  4. #4
    Membre confirmé Avatar de LaDeveloppeuse
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Par défaut
    Et si tu utilisai une expression réguliere en javascript...

  5. #5
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par LaDeveloppeuse
    Et si tu utilisai une expression réguliere en javascript...
    Quitte à utiliser du Javascript, autant le faire pour tester la longueur de la chaine saisie.
    Une expression rationnelle ne servirait pas vraiment dans ce cas.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  6. #6
    Membre expérimenté
    Homme Profil pro
    Consultant SharePoint
    Inscrit en
    Mars 2006
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SharePoint
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 270
    Par défaut
    je te file un exemple sur un champ textbox avec :
    - requiredField (champ obligatoire)
    - regularExpressionValidator (vérificateur d'exp réguliere (dont la taille de la chaine ^^)
    - Filtre pour ne saisir que des chiffres et virgule/point.

    a toi de voir si ca peut t'aider, mais un des avantages des validators, cela reste qu'ils ne font pas de postback, mais sont vérifiés coté client....

    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
    <tr> 
                                                <td align="left">
                                                    <asp:Label ID="LabelTaskInitialDuration" runat="server" Text="(*) Durée initiale de la tâche : "></asp:Label>
                                                </td>
                                                <td align="right">
                                                    <asp:TextBox ID="TextBoxTaskInitialDuration" runat="server"></asp:TextBox>
                                                    <ajaxToolkit:FilteredTextBoxExtender
                                                        ID="FilteredTextBoxExtenderTaskInitialDuration"
                                                        runat="server" 
                                                        TargetControlID="TextBoxTaskInitialDuration"
                                                        FilterType="Custom, Numbers"
                                                        ValidChars=",." />
                                                </td>
                                                <td align="right">    
                                                    <asp:RegularExpressionValidator ID="RegularExpressionValidatorAddTaskInitialDuration" runat="server" 
                                                    ErrorMessage="La durée initiale de la tâche n'est pas correcte" ControlToValidate="TextBoxTaskInitialDuration" 
                                                    Display="None" ValidationGroup="AddTaskValidationGroup" ValidationExpression="(([0-9]+$)|([0-9]+[.|,][0-9]{1,2}$))" />
                                                </td>
                                                <td align="right">    
                                                    <asp:RequiredFieldValidator id="RequiredFieldValidatorAddTaskInitialDuration"
                                                        ControlToValidate="TextBoxTaskInitialDuration"
                                                        Display="None"
                                                        ErrorMessage="La durée initiale de la tâche doit être renseignée."
                                                        runat="server" ValidationGroup="AddTaskValidationGroup"/>                               
                                                </td>                                             
                                            </tr>

  7. #7
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par défaut
    Merci pour les exemples.

    J'vais utiliser un CustomValidator avec une fonction javascript derrière qui teste si la chaîne de caractère a une longueur correcte. Reste que le javascript et moi, ça fait + de 2 !

  8. #8
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par défaut
    Voila, tout fonctionne ! Le javascript c'était pas bien compliqué quand même !

    Le code, si ça peut aider qq'un : dans la page aspx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <asp:CustomValidator 
                                ID="cvCommentaire" 
                                ControlToValidate="txtCommentaire" 
                                runat="server" 
                                ValidationGroup="demande" 
                                Display="Dynamic"   
                                ErrorMessage="<b>Commentaire : </b><br />Le commentaire ne peut pas excéder 250 caractères" 
                                ClientValidationFunction="FonctionValidationCommentaire">
                            </asp:CustomValidator>
    Et dans le CB :
    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
     
    protected void ScriptValidationCommentaire()
        {
            Page.RegisterClientScriptBlock("FonctionValidationCommentaire",
    "       <script type='text/javascript' language='javascript'> \n" +
    "            function ValidateCommentaire(source, args){ \n" +
    " \n" +
    "                if (args.Value.Length > 250) \n" +
    "                { \n" +
    "                args.IsValid = false; \n" +
    "                } \n" +
    "                else \n" +
    "                { \n" +
    "                 args.IsValid = true;  \n" +
    "                 } \n" +
    "            } \n </script>");
        }
    Ensuite reste plus qu'à appeler la méthode ScriptValidationCommentaire() dans le OnLoad() !

    Par contre j'utilise un composant Ajax (ValidatorCalloutExtender) qui permet d'afficher le message d'erreur dans une info-bulle, mais il ne fonctionne pas. Pourtant je pense l'avoir configuré correctement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <ajaxToolkit:ValidatorCalloutExtender 
                                runat="Server"
                                ID="vceCommentaire"
                                TargetControlID="cvCommentaire" 
                                Width="350px" 
                                WarningIconImageUrl="../Images/warning.gif"
                                CloseImageUrl="../Images/croix.gif" />

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/08/2006, 16h51
  2. [VB.Net] Bloqué le texte d'un textbox
    Par x dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/07/2005, 14h38
  3. [VB.NET] Utiliser les collections de contrôles (Textbox)
    Par dinbougre dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/01/2005, 18h57
  4. [VB.NET] Déclenchement d'évènement d'un TextBox
    Par leSeb dans le forum Windows Forms
    Réponses: 11
    Dernier message: 08/10/2004, 11h40
  5. [VB.NET] Probleme d'affichage entre ListBox/TextBox
    Par Monster77 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/08/2004, 11h02

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