• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1031
  • Last Modified:

MultiLine textbox -want to limit to 26 characters

I have a MultiLine textbox in a DataGrid that I want to limit to 26 characters max.

The MaxLength="26" property does not work for MulitLine textboxes.
I'm trying to use a Validator but it is not working:

<asp:TemplateColumn>
<ItemTemplate>
...........

<asp:TextBox ID="txtEng" TextMode="MultiLine" Rows="3" Width="245"
  Runat="server"></asp:TextBox>

<asp:RegularExpressionValidator ID="regex"
  ControlToValidate="txtEng"
  ValidationExpression="^{1,26}$"
  Text="Engravings can only be a maxiumum of 26 characters"
  Display="Dynamic"
  ErrorMessage="Engravings can only be a maxiumum of 26 characters"
  Runat="server" />

Any ideas on how I can limit the text to 26 characters max?  thanks
0
MikeMCSD
Asked:
MikeMCSD
  • 3
  • 3
  • 3
  • +1
2 Solutions
 
aki4uCommented:
Add this to your page:

            <script language="javascript">
                  function checkLength(val,maxlen)
                  {
                        if (val.value.length > maxlen)
                              val.value = val.value.substr(0, maxlen)
                  }
            </script>


add this to your textbox:
onkeyup="checkLength(this,5)"

so it looks like this:
asp:TextBox ID="txtEng" TextMode="MultiLine" Rows="3" Width="245"
  Runat="server" onkeyup="checkLength(this,5)"></asp:TextBox>
0
 
aki4uCommented:
asp:TextBox ID="txtEng" TextMode="MultiLine" Rows="3" Width="245"
  Runat="server" onkeyup="checkLength(this,26)"></asp:TextBox>
0
 
aki4uCommented:
or you could use all in one line...like this:

onkeyup ="if(this.value.length>26) this.value=this.value.substring(0,26)"

you can also use "onblur" event
0
Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

 
MikeMCSDAuthor Commented:
thanks ak . . that works expect for when
the enter key is pressed. example:
Dear John
blahab blah
....
then it limits the number of characters to less than 18 or so.

this multiline texbox is a pain!
0
 
ptleitchCommented:
<asp:RegularExpressionValidator ID="revExample" runat="server" ControlToValidate="txtExample"
    Display="Dynamic" ErrorMessage="Exceeded 26 Characters!" ValidationExpression="^[\w\W]{0,26}$">
</asp:RegularExpressionValidator>
0
 
ptleitchCommented:
@MikeMCSD have you tried my solution, I am pretty sure it will solve your problems even when a user presses the enter key.
0
 
MikeMCSDAuthor Commented:
thanks, just tried it pt . . if I type in:
Dear John
Thanks
Love Mary
...which is 24 characters, it gives the message
"Exceeded 26 Characters!"
I think maybe it's including the enter key as a character . .
0
 
ptleitchCommented:
I was going to mention that it probably counts the enter key as one of the characters.  This, however, is probably the closest you are going to get witht he Regular Expression Validator.  The enter key has to count as something.
0
 
fizchCommented:
Instead of using a regular expression validator, use a custom validator that checks the length of the text.

Private Sub cvEng_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles cvEng.ServerValidate
   if (txtEng.text.length > 26)
     args.IsValid = false;
   else
     args.IsValid = true;
   end if
End Sub
0
 
MikeMCSDAuthor Commented:
I'll have to come back to this later. thanks for your help
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

  • 3
  • 3
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now