MaxLength de todos textbox não funcionam

.NET

10/09/2014

Olá pessoal, alterei o valor do MaxLength nas propriedades de todos os textbox, e se digitar "João da Silva", beleza obedece o MaxLength, mas se digitar
"mmmmmmmmmmmmmmmmmmmmm" , excede em muito o MaxLength determinado, alguém sabe como resolver isto ?
Jair Souza

Jair Souza

Curtidas 0

Melhor post

Marisiana Battistella

Marisiana Battistella

13/09/2014

Que nada, isso é bem normal!
Obrigada pelo feedback!
GOSTEI 1

Mais Respostas

Marisiana Battistella

Marisiana Battistella

10/09/2014

Olá Jair!
Você poderia postar o código que você fez?

Eu encontrei esse material no site da Microsoft que contém algumas explicações: [url]http://msdn.microsoft.com/pt-br/library/system.web.ui.webcontrols.textbox.maxlength(v=vs.110).aspx[/url]
GOSTEI 0
Jair Souza

Jair Souza

10/09/2014

Oi Mari, não foi via código, foi no painel de propriedades do visual studio diretamente...
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

10/09/2014

Nãos sei se é a melhor forma.
Mas voce pode colocar no evento keyPress (Key alguma coisa) uma validação, se o tamanho for > 10 não fazer nada, algo desse tipo, é uma idéia, não tenho experiencia com C#
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

10/09/2014

Entendi...
Eu não sei como é no .NET, mas eu já desenvolvi em PHP e eu lembro que tinha situações não funcionava corretamente se eu definisse o maxlenght no HTML.

Eu tinha que fazer as validações em javascprit ou então com jQuery.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

10/09/2014

Talvez, o conteúdo desse link possa te ajudar: [url]http://csharpbrasil.com.br/dica-limitando-a-quantidade-caracteres-em-um-textbox-do-tipo-multiline/[/url]
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

10/09/2014

Fiz um teste aqui e funcionou no IE 10 e no Chrome mais recente. Qual browser você está usando?'
GOSTEI 0
Jair Souza

Jair Souza

10/09/2014

Resolvido.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

10/09/2014

O que vc fez para resolver?
GOSTEI 0
Jair Souza

Jair Souza

10/09/2014

Fica até chato dizer..., mas...quando digitava MMMMMMMMMMMMMMM....tinha um número de caracteres e quando lllllllllllllllllllllllllllllllllllllllllllllllllll tinha mais caracteres, mas ocupava o mesmo espaço físico...o problema não estava no maxlenght, mas sim no tamanho(Size) do textbox, rrrrrrrrrr
Valeu !
GOSTEI 0
Jair Souza

Jair Souza

10/09/2014

Mas agora surgiu a necessidade de restringir o maxlength de dois textbox multline e esta propriedade não tem nativamente para multline, procurei na net e só acho para web, e preciso para windowsform...sabes como fazer ?
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

10/09/2014

Dá uma olhadinha no exemplo deste artigo: [url]http://www.danielgarcia.com.br/post/Limitando-a-Quantidade-de-Caracteres-Digitados-em-um-TextBox-do-tipo-MultiLine.aspx[/url]
GOSTEI 0
Jair Souza

Jair Souza

10/09/2014

Olá, obrigado pelo interesse, mas como eu disse esta dica é para web e como tem java scrip...eu não manjo nada...
Não sei onde colocar o código java script, e será que este código serve para windows for ?
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

10/09/2014

O .NET é semelhante ao HTML?
GOSTEI 0
Jair Souza

Jair Souza

10/09/2014

rrrrrrrrrs..., é o meu primeiro projeto é em C#, também não manjo HTML...
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

10/09/2014

Eu já trabalhei com HTML, mas não conheço o .NET, por isso perguntei...
GOSTEI 0
Adriano Gomes

Adriano Gomes

10/09/2014

Nãos sei se é a melhor forma.
Mas voce pode colocar no evento keyPress (Key alguma coisa) uma validação, se o tamanho for > 10 não fazer nada, algo desse tipo, é uma idéia, não tenho experiencia com C#


Como o FaabiianooC já havia dito, o (Key alguma coisa) é uma forma válida, eu uso o KeyDown não sei se é o mesmo código no C# mas no VB.NET pode usar o Len() para fazer isto
ex:

Private Sub cx_Nome_KeyDown(sender As Object, e As KeyEventArgs) Handles cx_Nome.KeyDown
If len(cx_Nome.Text) > 50 then
MsgBox("Limite de Caracteres")
End If
End Sub
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

10/09/2014

Encontrei esses dois exemplos:
[url:descricao=Validar a quantidade de caracteres num TextBox MultiLine (TextArea)]http://andremenegassi.wordpress.com/2011/08/22/validar-a-quantidade-de-caracteres-num-textbox-multiline-textarea/[/url]

Limitar texto em um textarea

Ambos artigos tem explicações sobre as funcionalidades...
Espero que ajude!
GOSTEI 0
Jair Souza

Jair Souza

10/09/2014

...é para web e é java Script....vou estudar um pouco, e depois posto se consegui. Mais uma vez obrigado pelo interesse em me ajudar.
GOSTEI 0
Jair Souza

Jair Souza

10/09/2014

Assim está identificando, mas não sei como fazer para a partir da mensagem não deixar digitar mais nada.

if (comentariosTextBox.TextLength > 300)
{
MessageBox.Show("Limite de Caracteres é Trezentos !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

10/09/2014

Return false; ?
GOSTEI 0
Jair Souza

Jair Souza

10/09/2014

Não aceita nem no código..."termo de expressão inválido"
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

10/09/2014

Com os exemplos dos links que te passei não funciona?
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

10/09/2014

Encontrei esse exemplo:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <script language="javascript" type="text/javascript">
        function getText(txtbox, e){
            var maxlength = 250;
            var keyCode;
            if (window.event)
                keyCode = window.event.keyCode;
            else
                keyCode = e.which;


            switch (keyCode){
                case 8 :
                    return true;
                default :
                    if (txtbox.value.length == maxlength)
                        return false;
                    else
                        setText(txtbox);
            }
            return true;
        }
        function setText(txtbox){
            document.getElementById('<%=lblCount.ClientID %>').innerHTML = txtbox.value.length.toString();
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="txtComment" runat="server" Rows="5" TextMode="MultiLine" Width="250px"></asp:TextBox><br />
        <asp:Label ID="lblCount" runat="server" ReadOnly="true">0</asp:Label> / 250 maximum characters.</div>
    </form>
</body>
</html>


ASPX.cs
 protected void Page_Load(object sender, EventArgs e)
    {
        txtComment.Attributes.Add("onkeydown", "return getText(this, event);");
        txtComment.Attributes.Add("onkeyup", "setText(this);");
    }

fonte: [url]http://forums.asp.net/p/1136090/1814828.aspx#1814828[/url]
GOSTEI 0
Jair Souza

Jair Souza

10/09/2014

Não.
GOSTEI 0
Jair Souza

Jair Souza

10/09/2014

Olá, como falei anteriormente eu não sei nada sobre java script...onde eu colocaria este código ? preciso acrescentar algum using System... ? ou algo mais ?

Pois adicionando este código direto, aparece quase tudo sublinhado de vermelho...
GOSTEI 0
Adriano Gomes

Adriano Gomes

10/09/2014

Assim está identificando, mas não sei como fazer para a partir da mensagem não deixar digitar mais nada.

if (comentariosTextBox.TextLength > 300)
{
MessageBox.Show("Limite de Caracteres é Trezentos !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}


Cara como disse não sei nada de java script masss ai acho que está fácil no final manda um esquerda quantidade de caracteres.

if (comentariosTextBox.TextLength > 300)
{
MessageBox.Show("Limite de Caracteres é Trezentos !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
comentariosTextBox.Value = Left(comentariosTextBox.Value, 300);
}


obs: desconsidere o código por que não sei a linguagem foi só um exemplo.
GOSTEI 0
Jair Souza

Jair Souza

10/09/2014

Obrigado, vou tentar usar o exemplo para ajustar o código.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

10/09/2014

Conseguiu ajustar o código Jair?
GOSTEI 0
Jair Souza

Jair Souza

10/09/2014

Ainda não, estou tratando outra parte do projeto no momento.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

10/09/2014

Certo! Qualquer coisa volte a questionar...
GOSTEI 0
POSTAR