Pessoal, recentemente encontrei um problema em uma validação de textbox cujo o tipo eram multilines.
O que acontece é que o atributo MaxLeght do próprio asp.net não se aplica quando o textbox é do tipo multiline.
Então tive que fazer na raça mesmo.
Veja como eu fiz :
function checkTextAreaMaxLength(textBox,e, length) { var mLen = textBox["MaxLength"]; if(null==mLen) mLen=length; var maxLength = parseInt(mLen); if(!checkSpecialKeys(e)) { if(textBox.value.length > maxLength-1) { if(window.event)//IE e.returnValue = false; else//Firefox e.preventDefault(); } } } function checkSpecialKeys(e) { if(e.keyCode !=8 && e.keyCode!=46 && e.keyCode!=37 && e.keyCode!=38 && e.keyCode!=39 && e.keyCode!=40) return false; else return true; }
Depois apenas adicionei no controle :
<asp:TextBox Rows="5" Columns="80" ID="txtExemplo" MaxLength='1999' onkeyDown="checkTextAreaMaxLength(this,event,'1999');" TextMode="multiLine" runat="server"> </asp:TextBox>
No evento de OnkeyDown eu faço ele passar pela função, e assim verifica se o textbox possui mais que os caracteres que eu passei ou não.
Pessoal, então é isto!
Um abraço! 🙂